Özel Xml Parçasına Eşlenen Tablo Yinelenen Bölüm Oluşturma
giriiş
Bu eğitimde, Aspose.Words for .NET’i kullanarak özel bir XML parçasıyla eşlenen yinelenen bölüm içeren bir tablo oluşturma sürecini anlatacağız. Bu özellikle yapılandırılmış verilere dayalı dinamik olarak belge oluşturmak için kullanışlıdır.
Önkoşullar
Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:
- Aspose.Words for .NET kütüphanesi kuruldu. adresinden indirebilirsiniz.Web sitesi.
- C# ve XML’in temel anlayışı.
Ad Alanlarını İçe Aktar
Projenize gerekli ad alanlarını eklediğinizden emin olun:
using Aspose.Words;
using Aspose.Words.Markup;
using Aspose.Words.Tables;
1. Adım: Document ve DocumentBuilder’ı başlatın
Öncelikle yeni bir belge oluşturun ve bir başlangıç değeri oluşturun.DocumentBuilder
:
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
2. Adım: Özel XML Parçası Ekleme
Belgeye özel bir XML bölümü ekleyin. Bu XML, tablomuza eşlemek istediğimiz verileri içerir:
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>");
Adım 3: Tablo Yapısını Oluşturun
Daha sonra şunu kullanın:DocumentBuilder
tablo başlığını oluşturmak için:
Table table = builder.StartTable();
builder.InsertCell();
builder.Write("Title");
builder.InsertCell();
builder.Write("Author");
builder.EndRow();
builder.EndTable();
Adım 4: Yinelenen Bölüm Oluşturun
Bir oluşturStructuredDocumentTag
(SDT) yinelenen bölüm için ve bunu XML verileriyle eşleyin:
StructuredDocumentTag repeatingSectionSdt = new StructuredDocumentTag(doc, SdtType.RepeatingSection, MarkupLevel.Row);
repeatingSectionSdt.XmlMapping.SetMapping(xmlPart, "/books[1]/book", "");
table.AppendChild(repeatingSectionSdt);
Adım 5: Yinelenen Bölüm Öğesi Oluşturun
Yinelenen bölüm öğesi için bir SDT oluşturun ve bunu yinelenen bölüme ekleyin:
StructuredDocumentTag repeatingSectionItemSdt = new StructuredDocumentTag(doc, SdtType.RepeatingSectionItem, MarkupLevel.Row);
repeatingSectionSdt.AppendChild(repeatingSectionItemSdt);
Row row = new Row(doc);
repeatingSectionItemSdt.AppendChild(row);
Adım 6: XML Verilerini Tablo Hücreleriyle Eşleyin
Başlık ve yazar için SDT’ler oluşturun, bunları XML verileriyle eşleştirin ve satıra ekleyin:
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);
Adım 7: Belgeyi Kaydedin
Son olarak belgeyi belirtilen dizine kaydedin:
doc.Save(dataDir + "WorkingWithSdt.CreatingTableRepeatingSectionMappedToCustomXmlPart.docx");
Çözüm
Bu adımları izleyerek, Aspose.Words for .NET’i kullanarak özel bir XML parçasına eşlenen yinelenen bölümü olan bir tabloyu başarıyla oluşturdunuz. Bu, yapılandırılmış verilere dayalı dinamik içerik oluşturmaya olanak tanıyarak belge oluşturmayı daha esnek ve güçlü hale getirir.
SSS’ler
StructuredDocumentTag (SDT) nedir?
İçerik kontrolü olarak da bilinen SDT, bir belgede yapılandırılmış verileri barındırmak için kullanılan sınırlı bir bölgedir.
Özel XML bölümünde diğer veri türlerini kullanabilir miyim?
Evet, özel XML parçanızı istediğiniz veri türüyle yapılandırabilir ve bunları buna göre eşleyebilirsiniz.
Yinelenen bölüme nasıl daha fazla satır eklerim?
Yinelenen bölüm, eşlenen XML yolundaki her öğe için satır yapısını otomatik olarak çoğaltır.