ช่วงแท็กเอกสารที่มีโครงสร้างเริ่มต้นการแมป XML

การแนะนำ

คุณเคยต้องการที่จะแทรกข้อมูล XML ลงในเอกสาร Word แบบไดนามิกหรือไม่? คุณโชคดี! Aspose.Words สำหรับ .NET ทำให้งานนี้เป็นเรื่องง่าย ในบทช่วยสอนนี้ เรากำลังเจาะลึกช่วงแท็กเอกสารที่มีโครงสร้างซึ่งเริ่มต้นการแมป XML คุณลักษณะนี้ช่วยให้คุณสามารถผูกส่วน XML แบบกำหนดเองเข้ากับการควบคุมเนื้อหา ทำให้มั่นใจได้ว่าเนื้อหาเอกสารของคุณจะอัปเดตกับข้อมูล XML ของคุณได้อย่างราบรื่น พร้อมแปลงเอกสารของคุณให้เป็นผลงานชิ้นเอกแบบไดนามิก

ข้อกำหนดเบื้องต้น

ก่อนที่เราจะพูดถึงส่วนการเขียนโค้ด เรามาตรวจสอบให้แน่ใจว่าคุณมีทุกสิ่งที่คุณต้องการแล้ว:

  1. Aspose.Words สำหรับ .NET Library: ตรวจสอบให้แน่ใจว่าคุณมีเวอร์ชันล่าสุด คุณสามารถดาวน์โหลดได้ที่นี่.
  2. สภาพแวดล้อมการพัฒนา: Visual Studio หรือ IDE อื่น ๆ ที่รองรับ C#
  3. ความรู้พื้นฐานเกี่ยวกับ C#: จำเป็นต้องมีความคุ้นเคยกับการเขียนโปรแกรม C#
  4. เอกสาร Word: เอกสาร Word ตัวอย่างที่จะใช้งาน

นำเข้าเนมสเปซ

ก่อนอื่น มานำเข้าเนมสเปซที่จำเป็นกันก่อน สิ่งนี้จะช่วยให้มั่นใจว่าเราสามารถเข้าถึงคลาสและวิธีการที่จำเป็นทั้งหมดใน Aspose.Words สำหรับ .NET

using System;
using Aspose.Words;
using Aspose.Words.Markup;
using System.Text;

ขั้นตอนที่ 1: ตั้งค่าไดเร็กทอรีเอกสารของคุณ

ทุกโครงการจำเป็นต้องมีรากฐานใช่ไหม? ที่นี่ เราตั้งค่าเส้นทางไปยังไดเร็กทอรีเอกสารของคุณ

// เส้นทางไปยังไดเร็กทอรีเอกสารของคุณ
string dataDir = "YOUR DOCUMENT DIRECTORY";

ขั้นตอนที่ 2: โหลดเอกสาร Word

ต่อไปเราจะโหลดเอกสาร Word นี่คือเอกสารที่เราจะแทรกข้อมูล XML ของเรา

Document doc = new Document(dataDir + "Multi-section structured document tags.docx");

ขั้นตอนที่ 3: เพิ่มส่วน XML ที่กำหนดเอง

เราจำเป็นต้องสร้างส่วน XML ที่มีข้อมูลที่เราต้องการแทรกและเพิ่มลงในคอลเลกชัน CustomXmlPart ของเอกสาร ส่วน XML แบบกำหนดเองนี้จะทำหน้าที่เป็นแหล่งข้อมูลสำหรับแท็กเอกสารที่มีโครงสร้างของเรา

การสร้างส่วน XML

ขั้นแรก สร้าง ID เฉพาะสำหรับส่วน XML และกำหนดเนื้อหา

// สร้างส่วน XML ที่มีข้อมูลและเพิ่มลงในคอลเลกชัน CustomXmlPart ของเอกสาร
string xmlPartId = Guid.NewGuid().ToString("B");
string xmlPartContent = "<root><text>Text element #1</text><text>Text element #2</text></root>";
CustomXmlPart xmlPart = doc.CustomXmlParts.Add(xmlPartId, xmlPartContent);

ตรวจสอบเนื้อหาส่วน XML

เพื่อให้แน่ใจว่าเพิ่มส่วน XML อย่างถูกต้อง เราจะพิมพ์เนื้อหา

Console.WriteLine(Encoding.UTF8.GetString(xmlPart.Data));

ขั้นตอนที่ 4: สร้างแท็กเอกสารที่มีโครงสร้าง

แท็กเอกสารที่มีโครงสร้าง (SDT) คือตัวควบคุมเนื้อหาที่สามารถเชื่อมโยงกับส่วน XML ที่นี่ เราสร้าง SDT ที่จะแสดงเนื้อหาของส่วน XML ที่กำหนดเองของเรา

ขั้นแรก ค้นหาช่วง SDT ที่เริ่มต้นในเอกสาร

StructuredDocumentTagRangeStart sdtRangeStart = (StructuredDocumentTagRangeStart)doc.GetChild(NodeType.StructuredDocumentTagRangeStart, 0, true);

ขั้นตอนที่ 5: ตั้งค่าการแมป XML สำหรับ SDT

ตอนนี้ได้เวลาผูกส่วน XML ของเรากับ SDT แล้ว ด้วยการตั้งค่าการแมป XML เราจะระบุว่าส่วนใดของข้อมูล XML ที่ควรแสดงใน SDT

XPath ชี้ไปที่องค์ประกอบเฉพาะในส่วน XML ที่เราต้องการแสดง ที่นี่เราชี้ไปที่วินาที<text> องค์ประกอบภายใน<root> องค์ประกอบ.

// ตั้งค่าการแมปสำหรับ StructuredDocumentTag ของเรา
sdtRangeStart.XmlMapping.SetMapping(xmlPart, "/root[1]/text[2]", null);

ขั้นตอนที่ 6: บันทึกเอกสาร

สุดท้าย ให้บันทึกเอกสารเพื่อดูการเปลี่ยนแปลงที่เกิดขึ้น SDT ในเอกสาร Word จะแสดงเนื้อหา XML ที่ระบุ

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

บทสรุป

และคุณก็ได้แล้ว! คุณได้แมปส่วน XML กับแท็กเอกสารที่มีโครงสร้างในเอกสาร Word เรียบร้อยแล้วโดยใช้ Aspose.Words สำหรับ .NET คุณสมบัติอันทรงพลังนี้ช่วยให้คุณสร้างเอกสารแบบไดนามิกและขับเคลื่อนด้วยข้อมูลได้อย่างง่ายดาย ไม่ว่าคุณจะสร้างรายงาน ใบแจ้งหนี้ หรือเอกสารประเภทอื่น การทำแผนที่ XML สามารถปรับปรุงขั้นตอนการทำงานของคุณได้อย่างมาก

คำถามที่พบบ่อย

แท็กเอกสารที่มีโครงสร้างใน Word คืออะไร

แท็กเอกสารที่มีโครงสร้างหรือที่เรียกว่าตัวควบคุมเนื้อหา คือคอนเทนเนอร์สำหรับเนื้อหาบางประเภทในเอกสาร Word สามารถใช้เพื่อผูกข้อมูล จำกัดการแก้ไข หรือแนะนำผู้ใช้ในการสร้างเอกสาร

ฉันจะอัพเดตเนื้อหาส่วน XML แบบไดนามิกได้อย่างไร

คุณสามารถอัปเดตเนื้อหาส่วน XML ได้โดยการแก้ไขxmlPartContent สตริงก่อนที่จะเพิ่มลงในเอกสาร เพียงอัปเดตสตริงด้วยข้อมูลใหม่และเพิ่มลงในCustomXmlParts ของสะสม.

ฉันสามารถผูกส่วน XML หลายส่วนเข้ากับ SDT ที่แตกต่างกันในเอกสารเดียวกันได้หรือไม่

ได้ คุณสามารถผูกส่วน XML หลายส่วนเข้ากับ SDT ที่แตกต่างกันในเอกสารเดียวกันได้ SDT แต่ละรายการสามารถมีส่วน XML และการแมป XPath ที่เป็นเอกลักษณ์ของตัวเองได้

เป็นไปได้หรือไม่ที่จะแมปโครงสร้าง XML ที่ซับซ้อนกับ SDT

อย่างแน่นอน! คุณสามารถแมปโครงสร้าง XML ที่ซับซ้อนกับ SDT ได้โดยใช้นิพจน์ XPath แบบละเอียดที่ชี้ไปยังองค์ประกอบที่ต้องการภายในส่วน XML ได้อย่างแม่นยำ

ฉันจะลบส่วน XML ออกจากเอกสารได้อย่างไร

คุณสามารถลบส่วน XML ได้โดยการเรียกRemove วิธีการบนCustomXmlParts คอลเลกชันผ่านxmlPartId ของส่วน XML ที่คุณต้องการลบ