Membuat Bagian Pengulangan Tabel yang Dipetakan ke Bagian XML Kustom
Perkenalan
Dalam tutorial ini, kita akan membahas proses pembuatan tabel dengan bagian berulang yang dipetakan ke bagian XML kustom menggunakan Aspose.Words untuk .NET. Ini sangat berguna untuk membuat dokumen secara dinamis berdasarkan data terstruktur.
Prasyarat
Sebelum kita mulai, pastikan Anda memiliki hal berikut:
- Pustaka Aspose.Words untuk .NET telah terinstal. Anda dapat mengunduhnya dariSitus web Aspose.
- Pemahaman dasar tentang C# dan XML.
Mengimpor Ruang Nama
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 inisialisasiDocumentBuilder
:
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Langkah 2: Tambahkan Bagian XML Kustom
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 tajuk tabel:
Table table = builder.StartTable();
builder.InsertCell();
builder.Write("Title");
builder.InsertCell();
builder.Write("Author");
builder.EndRow();
builder.EndTable();
Langkah 4: Buat Bagian Berulang
Membuat sebuahStructuredDocumentTag
(SDT) untuk bagian yang 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: Memetakan 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, sehingga pembuatan dokumen menjadi lebih fleksibel dan canggih.
Pertanyaan yang Sering Diajukan
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 sebagaimana mestinya.
Bagaimana cara menambahkan lebih banyak baris ke bagian yang berulang?
Bagian yang berulang secara otomatis mereplikasi struktur baris untuk setiap item di jalur XML yang dipetakan.