Egyéni Xml-részhez leképezve táblázat ismétlődő szakasz létrehozása

Ez az oktatóanyag bemutatja, hogyan hozhat létre ismétlődő szakaszt egy Word-dokumentum egyéni Xml-részéhez leképezve az Aspose.Words for .NET használatával. Az ismétlődő szakasz lehetővé teszi sorok dinamikus hozzáadását az Egyéni Xml-részben tárolt XML-adatok alapján.

Előfeltételek

Az oktatóanyag követéséhez a következőkre van szükség:

  • Aspose.Words for .NET könyvtár telepítve.
  • C# és Word dokumentumokkal végzett szövegszerkesztési alapismeretek.

1. lépés: Állítsa be a dokumentumkönyvtárat

Kezdje a dokumentumkönyvtár elérési útjának beállításával. Cserélje ki"YOUR DOCUMENT DIRECTORY" annak a könyvtárnak a tényleges elérési útjával, ahová a dokumentumot menteni szeretné.

string dataDir = "YOUR DOCUMENT DIRECTORY";

2. lépés: Hozzon létre egy dokumentumot és a DocumentBuildert

Hozzon létre egy új példányt aDocument osztály és aDocumentBuilder a dokumentum tartalmának felépítéséhez.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

3. lépés: Adjon hozzá egyéni XML-adatokat egy CustomXmlPart-hoz

Hozzon létre egyCustomXmlPart és egyéni XML-adatokat adjon hozzá. Ebben a példában egy XML-karakterláncot hozunk létre, amely könyvek gyűjteményét képviseli a címükkel és szerzőikkel.

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>");

4. lépés: Hozzon létre egy táblázatot és táblázatszerkezetet

Kezdje el a táblázat létrehozását aStartTable módszere aDocumentBuilder . Adja hozzá a táblázat celláit és tartalmát aInsertCell ésWrite mód.

Table table = builder.StartTable();
builder.InsertCell();
builder.Write("Title");
builder.InsertCell();
builder.Write("Author");
builder.EndRow();
builder.EndTable();

5. lépés: Hozzon létre egy egyéni XML-re leképezett Ismétlődő szakaszt

Hozzon létre egyStructuredDocumentTag val velSdtType.RepeatingSection az ismétlődő szakasz ábrázolására. Állítsa be az ismétlődő szakasz XML-leképezését aSetMapping módszere aXmlMapping ingatlan. Ebben a példában leképezzük az ismétlődő szakaszt/books[1]/book.

StructuredDocumentTag repeatingSectionSdt =
	new StructuredDocumentTag(doc, SdtType.RepeatingSection, MarkupLevel.Row);
repeatingSectionSdt.XmlMapping.SetMapping(xmlPart, "/books[1]/book", "");
table.AppendChild(repeatingSectionSdt);

6. lépés: Hozza létre az Ismétlődő szakasz elemet, és adja hozzá a cellákat

Hozzon létre egyStructuredDocumentTag val velSdtType.RepeatingSectionItem hogy képviselje az ismétlődő szakaszelemet. Gyermekként fűzze hozzá az ismétlődő részhez.

StructuredDocumentTag repeatingSectionItemSdt = 
	new StructuredDocumentTag(doc, SdtType.RepeatingSectionItem, MarkupLevel.Row);
repeatingSectionSdt.AppendChild(repeatingSectionItemSdt);

Hozzon létre egyRowhogy az ismétlődő szakasz minden elemét képviselje, és hozzáfűzze az ismétlődő szakaszelemhez.

Row row = new Row(doc);
repeatingSectionItemSdt.AppendChild(row);

7. lépés: Adjon hozzá tartalomvezérlőket az Ismétlés szakaszhoz

TeremtStructuredDocumentTag tárgyakkalSdtType.PlainText

a cím és a szerző tartalomvezérlőinek megjelenítésére. Állítsa be az XML-leképezést minden tartalomvezérlőhöz a segítségévelSetMapping módszere aXmlMapping ingatlan. Ebben a példában a címvezérlőt a következőre rendeljük/books[1]/book[1]/title[1] és a szerző vezérli/books[1]/book[1]/author[1].

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);

8. lépés: Mentse el a dokumentumot

Mentse el a módosított dokumentumot a megadott könyvtárba aSave módszer. Adja meg a kívánt fájlnevet a megfelelő fájlkiterjesztéssel. Ebben a példában a dokumentumot “WorkingWithSdt.CreatingTableRepeatingSectionMappedToCustomXmlPart.docx” néven mentjük.

doc.Save(dataDir + "WorkingWithSdt.CreatingTableRepeatingSectionMappedToCustomXmlPart.docx");

Példa forráskódra az Aspose.Words for .NET használatával táblázatismétlő szakasz létrehozásához egyéni Xml-részhez leképezve

	// A dokumentumkönyvtár elérési útja
	string dataDir = "YOUR DOCUMENT DIRECTORY";

	Document doc = new Document();
	DocumentBuilder builder = new DocumentBuilder(doc);
	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>");
	Table table = builder.StartTable();
	builder.InsertCell();
	builder.Write("Title");
	builder.InsertCell();
	builder.Write("Author");
	builder.EndRow();
	builder.EndTable();
	StructuredDocumentTag repeatingSectionSdt =
		new StructuredDocumentTag(doc, SdtType.RepeatingSection, MarkupLevel.Row);
	repeatingSectionSdt.XmlMapping.SetMapping(xmlPart, "/books[1]/book", "");
	table.AppendChild(repeatingSectionSdt);
	StructuredDocumentTag repeatingSectionItemSdt = 
		new StructuredDocumentTag(doc, SdtType.RepeatingSectionItem, MarkupLevel.Row);
	repeatingSectionSdt.AppendChild(repeatingSectionItemSdt);
	Row row = new Row(doc);
	repeatingSectionItemSdt.AppendChild(row);
	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);
	doc.Save(dataDir + "WorkingWithSdt.CreatingTableRepeatingSectionMappedToCustomXmlPart.docx");

Ez az! Az Aspose.Words for .NET segítségével sikeresen létrehozott egy táblázatot, amely ismétlődő szakaszt tartalmaz a Word-dokumentum CustomXmlPart-részére leképezve.