Een herhalende tabelsectie maken die is toegewezen aan een aangepast XML-onderdeel
Invoering
In deze tutorial doorlopen we het proces van het maken van een tabel met een herhalende sectie die is toegewezen aan een aangepast XML-onderdeel met behulp van Aspose.Words voor .NET. Dit is met name handig voor het dynamisch genereren van documenten op basis van gestructureerde gegevens.
Vereisten
Voordat we beginnen, zorg ervoor dat u het volgende heeft:
- Aspose.Words voor .NET-bibliotheek geïnstalleerd. U kunt het downloaden van deAspose-website.
- Basiskennis van C# en XML.
Naamruimten importeren
Zorg ervoor dat u de benodigde naamruimten in uw project opneemt:
using Aspose.Words;
using Aspose.Words.Markup;
using Aspose.Words.Tables;
Stap 1: Initialiseer Document en DocumentBuilder
Maak eerst een nieuw document en initialiseer eenDocumentBuilder
:
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Stap 2: Aangepast XML-onderdeel toevoegen
Voeg een aangepast XML-onderdeel toe aan het document. Deze XML bevat de gegevens die we willen toewijzen aan onze tabel:
CustomXmlPart xmlPart = doc.CustomXmlParts.Add("Books",
"<books><book><title>Everyday Italian</title><author>Giada De Laurentiis</author></book>" +
"<book><title>Harry Potter</title><author>J K. Rowling</author></book>" +
"<book><title>Learning XML</title><author>Erik T. Ray</author></book></books>");
Stap 3: De tabelstructuur maken
Gebruik vervolgens deDocumentBuilder
om de tabelkop te maken:
Table table = builder.StartTable();
builder.InsertCell();
builder.Write("Title");
builder.InsertCell();
builder.Write("Author");
builder.EndRow();
builder.EndTable();
Stap 4: Herhalende sectie maken
Maak eenStructuredDocumentTag
(SDT) voor het herhalende gedeelte en koppel dit aan de XML-gegevens:
StructuredDocumentTag repeatingSectionSdt = new StructuredDocumentTag(doc, SdtType.RepeatingSection, MarkupLevel.Row);
repeatingSectionSdt.XmlMapping.SetMapping(xmlPart, "/books[1]/book", "");
table.AppendChild(repeatingSectionSdt);
Stap 5: Een herhalend sectie-item maken
Maak een SDT voor het herhalende sectie-item en voeg deze toe aan de herhalende sectie:
StructuredDocumentTag repeatingSectionItemSdt = new StructuredDocumentTag(doc, SdtType.RepeatingSectionItem, MarkupLevel.Row);
repeatingSectionSdt.AppendChild(repeatingSectionItemSdt);
Row row = new Row(doc);
repeatingSectionItemSdt.AppendChild(row);
Stap 6: XML-gegevens toewijzen aan tabelcellen
Maak SDT’s voor de titel en auteur, koppel ze aan de XML-gegevens en voeg ze toe aan de rij:
StructuredDocumentTag titleSdt = new StructuredDocumentTag(doc, SdtType.PlainText, MarkupLevel.Cell);
titleSdt.XmlMapping.SetMapping(xmlPart, "/books[1]/book[1]/title[1]", "");
row.AppendChild(titleSdt);
StructuredDocumentTag authorSdt = new StructuredDocumentTag(doc, SdtType.PlainText, MarkupLevel.Cell);
authorSdt.XmlMapping.SetMapping(xmlPart, "/books[1]/book[1]/author[1]", "");
row.AppendChild(authorSdt);
Stap 7: Sla het document op
Sla het document ten slotte op in de opgegeven directory:
doc.Save(dataDir + "WorkingWithSdt.CreatingTableRepeatingSectionMappedToCustomXmlPart.docx");
Conclusie
Door deze stappen te volgen, hebt u met succes een tabel gemaakt met een herhalende sectie die is toegewezen aan een aangepast XML-onderdeel met behulp van Aspose.Words voor .NET. Dit maakt dynamische contentgeneratie mogelijk op basis van gestructureerde gegevens, waardoor documentcreatie flexibeler en krachtiger wordt.
Veelgestelde vragen
Wat is een StructuredDocumentTag (SDT)?
Een SDT, ook wel een content control genoemd, is een begrensd gebied in een document dat wordt gebruikt om gestructureerde gegevens te bevatten.
Kan ik andere gegevenstypen gebruiken in het aangepaste XML-onderdeel?
Ja, u kunt uw aangepaste XML-onderdeel structureren met elk gegevenstype en deze dienovereenkomstig toewijzen.
Hoe voeg ik meer rijen toe aan het herhalende gedeelte?
De herhalende sectie repliceert automatisch de rijstructuur voor elk item in het toegewezen XML-pad.