Özel Xml Parçasına Eşlenen Tablo Yinelenen Bölüm Oluşturma
Bu eğitimde, Aspose.Words for .NET kullanılarak bir Word belgesindeki Özel Xml Parçasına eşlenen yinelenen bölüm içeren bir tablonun nasıl oluşturulacağı gösterilmektedir. Yinelenen bölüm, Özel Xml Bölümünde depolanan XML verilerine dayalı olarak dinamik olarak satır eklemenizi sağlar.
Önkoşullar
Bu öğreticiyi takip etmek için aşağıdakilere sahip olmanız gerekir:
- Aspose.Words for .NET kütüphanesi kuruldu.
- Temel C# bilgisi ve Word belgeleriyle Kelime İşleme.
1. Adım: Belge Dizinini Ayarlayın
Belge dizininizin yolunu ayarlayarak başlayın. Yer değiştirmek"YOUR DOCUMENT DIRECTORY"
belgeyi kaydetmek istediğiniz dizinin gerçek yolu ile birlikte.
string dataDir = "YOUR DOCUMENT DIRECTORY";
Adım 2: Bir Document ve DocumentBuilder Oluşturun
Yeni bir örneğini oluşturunDocument
sınıf ve birDocumentBuilder
Belgenin içeriğini oluşturmak için.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
3. Adım: CustomXmlPart’a Özel XML Verileri Ekleme
OluşturmakCustomXmlPart
ve buna özel XML verileri ekleyin. Bu örnekte, başlıkları ve yazarlarıyla birlikte bir kitap koleksiyonunu temsil eden bir XML dizesi oluşturuyoruz.
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 4: Tablo ve Tablo Yapısı Oluşturun
kullanarak bir tablo oluşturmaya başlayın.StartTable
yöntemiDocumentBuilder
. kullanarak tablo hücreleri ve içerik ekleyin.InsertCell
VeWrite
yöntemler.
Table table = builder.StartTable();
builder.InsertCell();
builder.Write("Title");
builder.InsertCell();
builder.Write("Author");
builder.EndRow();
builder.EndTable();
Adım 5: Özel XML ile Eşlenen Yinelenen Bölümü Oluşturun
OluşturmakStructuredDocumentTag
ileSdtType.RepeatingSection
yinelenen bölümü temsil etmek için. Yinelenen bölüm için XML eşlemesini kullanarak ayarlayın.SetMapping
yöntemiXmlMapping
mülk. Bu örnekte, yinelenen bölümü şu şekilde eşliyoruz:/books[1]/book
.
StructuredDocumentTag repeatingSectionSdt =
new StructuredDocumentTag(doc, SdtType.RepeatingSection, MarkupLevel.Row);
repeatingSectionSdt.XmlMapping.SetMapping(xmlPart, "/books[1]/book", "");
table.AppendChild(repeatingSectionSdt);
Adım 6: Yinelenen Bölüm Öğesini Oluşturun ve Hücreleri Ekleyin
OluşturmakStructuredDocumentTag
ileSdtType.RepeatingSectionItem
yinelenen bölüm öğesini temsil etmek için. Tekrarlanan bölüme çocuk olarak ekleyin.
StructuredDocumentTag repeatingSectionItemSdt =
new StructuredDocumentTag(doc, SdtType.RepeatingSectionItem, MarkupLevel.Row);
repeatingSectionSdt.AppendChild(repeatingSectionItemSdt);
OluşturmakRow
yinelenen bölümdeki her bir öğeyi temsil etmek ve onu yinelenen bölüm öğesine eklemek için.
Row row = new Row(doc);
repeatingSectionItemSdt.AppendChild(row);
Adım 7: Yinelenen Bölüme İçerik Kontrolleri Ekleyin
YaratmakStructuredDocumentTag
olan nesnelerSdtType.PlainText
başlık ve yazar içerik kontrollerini temsil etmek için. Her içerik denetimi için XML eşlemesini aşağıdakileri kullanarak ayarlayın:SetMapping
yöntemiXmlMapping
mülk. Bu örnekte, başlık kontrolünü şuna eşliyoruz:/books[1]/book[1]/title[1]
ve yazar kontrolü/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);
Adım 8: Belgeyi Kaydedin
Değiştirilen belgeyi aşağıdaki komutu kullanarak belirtilen dizine kaydedin:Save
yöntem. İstediğiniz dosya adını uygun dosya uzantısıyla sağlayın. Bu örnekte belgeyi “WorkingWithSdt.CreatingTableRepeatingSectionMappedToCustomXmlPart.docx” olarak kaydediyoruz.
doc.Save(dataDir + "WorkingWithSdt.CreatingTableRepeatingSectionMappedToCustomXmlPart.docx");
Aspose.Words for .NET Kullanarak Özel Xml Parçasına Eşlenen Tablo Yinelenen Bölüm Oluşturmak için örnek kaynak kodu
// Belge dizininizin yolu
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");
Bu kadar! Aspose.Words for .NET’i kullanarak Word belgenizde CustomXmlPart’a eşlenen yinelenen bölümü olan bir tabloyu başarıyla oluşturdunuz.