Membuat Tabel Bagian Berulang yang Dipetakan ke Bagian Xml Kustom

Perkenalan

Dalam tutorial ini, kita akan memandu proses pembuatan tabel dengan bagian berulang yang dipetakan ke bagian XML kustom menggunakan Aspose.Words untuk .NET. Hal ini sangat berguna untuk menghasilkan dokumen secara dinamis berdasarkan data terstruktur.

Prasyarat

Sebelum kita mulai, pastikan Anda memiliki hal berikut:

  1. Aspose.Words untuk perpustakaan .NET diinstal. Anda dapat mengunduhnya dariAsumsikan situs web.
  2. Pemahaman dasar tentang C# dan XML.

Impor Namespace

Pastikan untuk menyertakan namespace yang diperlukan dalam proyek Anda:

using Aspose.Words;
using Aspose.Words.Markup;
using Aspose.Words.Tables;

Langkah 1: Inisialisasi Dokumen dan DocumentBuilder

Pertama, buat dokumen baru dan inisialisasi aDocumentBuilder:

string dataDir = "YOUR DOCUMENT DIRECTORY";

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

Langkah 2: Tambahkan Bagian XML Khusus

Tambahkan bagian XML khusus ke dokumen. XML ini berisi data yang ingin kita petakan ke tabel kita:

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

Langkah 3: Buat Struktur Tabel

Selanjutnya, gunakanDocumentBuilder untuk membuat header tabel:

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

Langkah 4: Buat Bagian Berulang

Buat sebuahStructuredDocumentTag (SDT) untuk bagian berulang dan memetakannya ke data XML:

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

Langkah 5: Buat Item Bagian Berulang

Buat SDT untuk item bagian berulang dan tambahkan ke bagian berulang:

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

Langkah 6: Petakan Data XML ke Sel Tabel

Buat SDT untuk judul dan penulis, petakan ke data XML, dan tambahkan ke baris:

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

Langkah 7: Simpan Dokumen

Terakhir, simpan dokumen ke direktori yang ditentukan:

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

Kesimpulan

Dengan mengikuti langkah-langkah ini, Anda telah berhasil membuat tabel dengan bagian berulang yang dipetakan ke bagian XML kustom menggunakan Aspose.Words untuk .NET. Hal ini memungkinkan pembuatan konten dinamis berdasarkan data terstruktur, menjadikan pembuatan dokumen lebih fleksibel dan canggih.

FAQ

Apa itu StructuredDocumentTag (SDT)?

SDT, juga dikenal sebagai kontrol konten, adalah wilayah terbatas dalam dokumen yang digunakan untuk memuat data terstruktur.

Bisakah saya menggunakan tipe data lain di bagian XML khusus?

Ya, Anda dapat menyusun bagian XML khusus Anda dengan tipe data apa pun dan memetakannya sesuai dengan itu.

Bagaimana cara menambahkan lebih banyak baris ke bagian berulang?

Bagian berulang secara otomatis mereplikasi struktur baris untuk setiap item di jalur XML yang dipetakan.