Özel Xml Parçasına Eşlenen Tekrarlayan Bölüm Tablosu Oluşturma

giriiş

Bu eğitimde, Aspose.Words for .NET kullanarak özel bir XML parçasına eşlenen tekrarlayan bir bölüme sahip bir tablo oluşturma sürecini ele alacağız. Bu, özellikle yapılandırılmış verilere dayalı belgeleri dinamik olarak oluşturmak için yararlıdır.

Ön koşullar

Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:

  1. Aspose.Words for .NET kütüphanesi yüklendi. Bunu şuradan indirebilirsiniz:Aspose web sitesi.
  2. C# ve XML hakkında temel bilgi.

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;

Adım 1: Belgeyi ve DocumentBuilder’ı Başlatın

İlk olarak yeni bir belge oluşturun ve başlatınDocumentBuilder:

string dataDir = "YOUR DOCUMENT DIRECTORY";

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

Adım 2: Özel XML Parçası Ekle

Belgeye özel bir XML parçası 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

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: Tekrarlayan Bölüm Oluşturun

Bir tane oluşturStructuredDocumentTag (SDT) tekrar eden bölüm için ve bunu XML verilerine eşleyin:

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

Adım 5: Tekrarlayan Bölüm Öğesi Oluşturun

Tekrar eden bölüm öğesi için bir SDT oluşturun ve bunu tekrar eden 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ücrelerine Eşleyin

Başlık ve yazar için SDT’ler oluşturun, bunları XML verilerine eşleyin 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 kullanarak özel bir XML parçasına eşlenen tekrarlayan bir bölüme sahip bir tabloyu başarıyla oluşturdunuz. Bu, yapılandırılmış verilere dayalı dinamik içerik oluşturulmasına olanak tanır ve belge oluşturmayı daha esnek ve güçlü hale getirir.

SSS

StructuredDocumentTag (SDT) nedir?

İçerik denetimi 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 kısmında başka veri tipleri kullanabilir miyim?

Evet, özel XML parçanızı herhangi bir veri türüyle yapılandırabilir ve buna göre eşleyebilirsiniz.

Tekrarlanan bölüme nasıl daha fazla satır eklerim?

Tekrarlanan bölüm, eşlenen XML yolundaki her öğe için satır yapısını otomatik olarak çoğaltır.