Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
รูปแบบวัตถุเอกสารAspose.Words(DOM)เป็นตัวแทนในหน่วยความจำของเอกสารคำ Aspose.WordsDOMช่วยให้คุณสามารถอ่านจัดการและปรับเปลี่ยนเนื้อหาและการจัดรูปแบบของเอกสารคำ.
ส่วนนี้อธิบายชั้นเรียนหลักของAspose.WordsDOMและความสัมพันธ์ของชั้นเรียน โดยใช้ชั้นเรียนAspose.WordsDOMคุณสามารถขอรับการเข้าถึงแบบโปรแกรมไปยังองค์ประกอบของเอกสา.
เมื่อเอกสารถูกอ่านเข้าไปในAspose.WordsDOMจากนั้นต้นไม้วัตถุจะถูกสร้างขึ้นและชนิดขององค์ประกอบข.
เมื่อAspose.Wordsอ่านเอกสารคำลงในหน่วยความจำจะสร้างวัตถุชนิดต่างๆที่แสดงถึงองค์ประกอบของเ รันของข้อความย่อหน้าตารางหรือส่วนทุกโหนดและแม้แต่เอกสารเองเป็นโหนด Aspose.Wordsกำหนดคลาสสำหรับทุกชนิดโหนดเอกสาร.
โครงสร้างเอกสารในAspose.Wordsตามรูปแบบการออกแบบคอมโพสิต:
แผนภาพที่ให้ไว้ด้านล่างแสดงการสืบทอดระหว่างคลาสโหนดของโมเดลออบเจกต์เอกสารAspose.Words(DOM) ชื่อของชั้นเรียนนามธรรมอยู่ในตัวเอียง.
Node.
ลองดูตัวอย่าง รูปภาพต่อไปนี้แสดงเอกสารMicrosoft Wordที่มีเนื้อหาประเภทต่างๆ.
เมื่ออ่านเอกสารข้างต้นในAspose.WordsDOMต้นไม้ของออบเจกต์จะถูกสร้างขึ้นตามที่แสดงในสคีมาข้างล่าง.
Document, Section, Paragraph, Table, Shape, Run, และวงรีอื่นๆทั้งหมดในแผนภาพเป็นAspose.Wordsวัตถุที่แสดงถึงองค์ประกอบของเอกสารคำ.
Nodeประเภทแม้ว่าคลาส Node จะเพียงพอที่จะแยกแยะโหนดต่างๆ ออกจากกัน แต่ Aspose.Words ก็มีการแจงนับ NodeType เพื่อลดความซับซ้อนของงาน API บางอย่าง เช่น การเลือกโหนดประเภทเฉพาะ.
ชนิดของแต่ละโหนดสามารถรับได้โดยใช้คุณสมบัติNodeType คุณสมบัตินี้ส่งคืนNodeType enumeration value. For example, a paragraph node represented by the Paragraph class returns NodeType.Paragraphและโหนดตารางที่แสดงด้วยTable class returns NodeType.Table.
ตัวอย่างต่อไปนี้แสดงวิธีรับชนิดโหนดโดยใช้การแจงนับNodeType:
Aspose.Wordsแทนเอกสารเป็นโหนดทรีซึ่งช่วยให้คุณสามารถนำทางระหว่างโหนด ส่วนนี้อธิบายวิธีสำรวจและนำทางแผนผังเอกสารในAspose.Words.
กสารแผนผังโหนดจะปรากฏตรงตามที่แสดงในAspose.Words.
โหนดในต้นไม้มีความสัมพันธ์ระหว่างพวกเขา:
โหนดที่ประกอบด้วยโหนดอื่นได้มาจากคลาสของCompositeNodeและโหนดทั้งหมดได้มาจากคลาสของNode สองคลาสฐานมีวิธีการทั่วไปและคุณสมบัติสำหรับการนำทางโครงสร้างต้นไม้และการปรับ.
ไดอะแกรมออบเจกต์UMLต่อไปนี้แสดงโหนดหลายโหนดของเอกสารตัวอย่างและความสัมพันธ์:
กโครงสร้างทั้งเอกสารสำคัญเช่นลักษณะและรายการจะถูกเก็บไว้ในโหนดDocument ตัวอย่างเช่นเป็นไปไม่ได้ที่จะมีParagraphโดยไม่มีDocumentเนื่องจากแต่ละย่อหน้ามีสไตล์ที่กำหนดซึ่งถูกกำหน กฏนี้ใช้เมื่อสร้างโหนดใหม่ การเพิ่มParagraphใหม่โดยตรงไปยังDOMต้องใช้วัตถุเอกสารที่ส่งผ่านไปยังคอนสตรัคเตอร์.
เมื่อสร้างย่อหน้าใหม่โดยใช้DocumentBuilderตัวสร้างจะมีคลาสของDocumentที่เชื่อมโยงกับมันผ่านคุณสมบัติDocumentBuilder.Documentเสมอ.
ตัวอย่างรหัสต่อไปนี้แสดงให้เห็นว่าเมื่อมีการสร้างโหนดใดๆเอกสารที่จะเป็นเจ้าของโห:
แต่ละโหนดมีพาเรนต์ที่ระบุโดยคุณสมบัติParentNode โหนดไม่มีโหนดพาเรนต์นั่นคือParentNodeเป็นโมฆะในกรณีต่อไปนี้:
คุณสามารถลบโหนดออกจากพาเรนต์ได้โดยเรียกวิธีการRemoveตัวอย่างรหัสต่อไปนี้แสดงวิธีการเข้าถึงโหนดพาเรนต์:
วิธีที่มีประสิทธิภาพมากที่สุดในการเข้าถึงโหนดลูกของCompositeNodeคือผ่านคุณสมบัติFirstChildและLastChildที่ส่งคืนโหนดลูก หากไม่มีโหนดย่อยคุณสมบัติเหล่านี้จะกลับnull.
CompositeNode
ถ้าโหนดไม่มีลูกน้อยคุณสมบัติChildNodesจะส่งคืนคอลเล็กชันที่ว่างเปล่า คุณสามารถตรวจสอบว่าCompositeNodeมีโหนดย่อยใดๆโดยใช้คุณสมบัติHasChildNodes.
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการระบุโหนดย่อยทันทีของ CompositeNode โดยใช้ตัวระบุที่ให้มาโดยคอลเลกชัน ChildNodes:
ตัวอย่างรหัสต่อไปนี้แสดงวิธีการระบุโหนดย่อยในทันทีของCompositeNodeโดยใช้การเข้าถึงการทำดัชนี:
คุณสามารถขอรับโหนดที่นำหน้าหรือติดตามโหนดเฉพาะโดยใช้คุณสมบัติPreviousSiblingและNextSiblingตามลำดับ ถ้าโหนดเป็นลูกคนสุดท้ายของพาเรนต์คุณสมบัติNextSiblingคือnull ในทางกลับกันถ้าโหนดเป็นลูกคนแรกของแม่คุณสมบัติPreviousSiblingคือnull.
ตัวอย่างรหัสต่อไปนี้แสดงวิธีการเยี่ยมชมโหนดลูกโดยตรงและโดยอ้อมทั้งหมดของโหนดค:
จนถึงขณะนี้เราได้กล่าวถึงคุณสมบัติที่ส่งคืนหนึ่งในชนิดฐาน-NodeหรือCompositeNode แต่บางครั้งมีสถานการณ์ที่คุณอาจต้องโยนค่าไปยังคลาสโหนดที่เฉพาะเจาะจงเช่นRunหรือParagraph นั่นคือคุณไม่สามารถหนีจากการหล่อเมื่อทำงานกับAspose.WordsDOMซึ่งเป็นคอมโพสิต.
เพื่อลดความจำเป็นในการแคสต์คลาสAspose.Wordsส่วนใหญ่มีคุณสมบัติและคอลเล็กชันที่ให้การเข้าถึงที่ มีสามรูปแบบพื้นฐานของการเข้าถึงที่พิมพ์เป็น:
มบัติทั่วไปที่สืบทอดมาจากNode.ParentNodeและCompositeNode.FirstChild.
ตัวอย่างรหัสต่อไปนี้แสดงวิธีการใช้คุณสมบัติที่พิมพ์เพื่อเข้าถึงโหนดของแผนผังเอกสาร:
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.