Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
מודל אובייקט המסמך Aspose.Words (DOM) הוא ייצוג בזיכרון של מסמך Word. Aspose.Words DOM מאפשר לך לקרוא, לתפעל ולשנות באופן פרוגרמטי את התוכן והעיצוב של מסמך Word.
החלק הזה מתאר את המעמדות העיקריים של Aspose.Words DOM ואת היחסים שלהם. על ידי שימוש בכיתות Aspose.Words DOM, תוכל לקבל גישה פרוגרמטית לרכיבי מסמך ולעיצוב.
כאשר מסמך נקרא לתוך Aspose.Words DOM, אז עץ אובייקט נבנה וסוגים שונים של אלמנטים של מסמך המקור יש שלהם DOM אובייקטים עץ עם תכונות שונות.
כאשר Aspose.Words קורא מסמך Word לזיכרון, הוא יוצר אובייקטים מסוגים שונים המייצגים אלמנטים שונים של מסמך. כל ריצה של טקסט, פיסקה, טבלה או קטע היא צומת, ואפילו המסמך עצמו הוא צומת. Aspose.Words מגדיר מחלקה לכל סוג צומת מסמך.
עץ המסמך ב - Aspose.Words עוקב אחר דפוס העיצוב המורכב:
הדיאגרמה המוצגת להלן מראה ירושה בין כיתות צומת של מודל אובייקט המסמך Aspose.Words (DOM). שמות המעמדות המופשטים הם בכתב עוקף.
Node.
בואו נסתכל על דוגמה. התמונה הבאה מציגה מסמך Microsoft Word עם סוגים שונים של תוכן.
כאשר קוראים את המסמך לעיל לתוך Aspose.Words DOM, עץ האובייקטים נוצר, כפי שמוצג בתרשים למטה.
Document, Section, Paragraph, Table, Shape, Run, וכל האליפסות האחרות בתרשים הן Aspose.Words אובייקטים המייצגים אלמנטים של המסמך Word.
Node סוגלמרות שהכיתה Node מספיקה מספיק כדי להבחין בין צמתים שונים זה מזה, Aspose.Words מספק את הספירה NodeType כדי לפשט כמה משימות API, כגון בחירת צמתים מסוג מסוים.
ניתן להשיג את סוג כל צומת באמצעות המאפיין NodeType. מאפיין זה מחזיר ערך ספירה NodeType. לדוגמה, צומת פסקה המייצגת על ידי Paragraph מחזירה את הכיתה NodeType.Paragraph, וצומת טבלה המייצגת על ידי Table מחזירה את הכיתה 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.Words DOM, שהוא מורכב.
כדי להפחית את הצורך בגיסוי, רוב הכיתות 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.