ช่วงแท็กเอกสารที่มีโครงสร้าง เริ่มต้นการแมป XML
การแนะนำ
คุณเคยต้องการแทรกข้อมูล XML แบบไดนามิกลงในเอกสาร Word หรือไม่? โชคดีแล้ว! Aspose.Words สำหรับ .NET ช่วยให้งานนี้เป็นเรื่องง่าย ในบทช่วยสอนนี้ เราจะเจาะลึกเกี่ยวกับแท็กเอกสารที่มีโครงสร้าง การแมปช่วง XML จุดเริ่มต้น คุณลักษณะนี้ช่วยให้คุณผูกส่วน XML ที่กำหนดเองเข้ากับตัวควบคุมเนื้อหา เพื่อให้แน่ใจว่าเนื้อหาเอกสารของคุณจะอัปเดตอย่างราบรื่นด้วยข้อมูล XML ของคุณ พร้อมที่จะแปลงเอกสารของคุณให้เป็นผลงานชิ้นเอกแบบไดนามิกแล้ว
ข้อกำหนดเบื้องต้น
ก่อนที่จะเริ่มเขียนโค้ด เรามาตรวจสอบก่อนว่าคุณมีทุกสิ่งที่คุณต้องการ:
- Aspose.Words สำหรับไลบรารี .NET: ตรวจสอบว่าคุณมีเวอร์ชันล่าสุด คุณสามารถดาวน์โหลดได้ที่นี่.
- สภาพแวดล้อมการพัฒนา: Visual Studio หรือ IDE อื่นๆ ที่รองรับ C#
- ความรู้พื้นฐานเกี่ยวกับ C#: ต้องมีความคุ้นเคยกับการเขียนโปรแกรม C#
- เอกสาร 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 ที่คุณต้องการลบออก