ParentNode
محتويات
[
يخفي
]Node.ParentNode property
يحصل على الوالد المباشر لهذه العقدة.
public CompositeNode ParentNode { get; }
ملاحظات
إذا تم إنشاء عقدة للتو ولم تتم إضافتها إلى الشجرة بعد، أو إذا تمت إزالتها من الشجرة، فإن العقدة الأصلية هيباطل
.
أمثلة
يوضح كيفية الوصول إلى العقدة الأصلية للعقدة.
Document doc = new Document();
Paragraph para = doc.FirstSection.Body.FirstParagraph;
// أضف عقدة تشغيل فرعية إلى الفقرة الأولى من المستند.
Run run = new Run(doc, "Hello world!");
para.AppendChild(run);
// الفقرة هي العقدة الأم لعقدة التشغيل. يمكننا تتبع هذا النسب.
// كل الطريق إلى عقدة المستند، والتي هي جذر شجرة عقد المستند.
Assert.AreEqual(para, run.ParentNode);
Assert.AreEqual(doc.FirstSection.Body, para.ParentNode);
Assert.AreEqual(doc.FirstSection, doc.FirstSection.Body.ParentNode);
Assert.AreEqual(doc, doc.FirstSection.ParentNode);
يوضح كيفية إنشاء عقدة وتعيين المستند الخاص بها.
Document doc = new Document();
Paragraph para = new Paragraph(doc);
para.AppendChild(new Run(doc, "Hello world!"));
// لم نقم بعد بإضافة هذه الفقرة كفقرة فرعية إلى أي عقدة مركبة.
Assert.IsNull(para.ParentNode);
// إذا كانت العقدة هي نوع عقدة فرعية مناسب لعقدة مركبة أخرى،
// يمكننا إرفاقه كطفل فقط إذا كان لدى كلتا العقدتين نفس مستند المالك.
//مستند المالك هو المستند الذي مررناه إلى منشئ العقدة.
// لم نقم بإرفاق هذه الفقرة بالمستند، وبالتالي فإن المستند لا يحتوي على نصها.
Assert.AreEqual(para.Document, doc);
Assert.AreEqual(string.Empty, doc.GetText().Trim());
// بما أن المستند يمتلك هذه الفقرة، فيمكننا تطبيق أحد أنماطه على محتويات الفقرة.
para.ParagraphFormat.Style = doc.Styles["Heading 1"];
//أضف هذه العقدة إلى المستند، ثم تحقق من محتوياته.
doc.FirstSection.Body.AppendChild(para);
Assert.AreEqual(doc.FirstSection.Body, para.ParentNode);
Assert.AreEqual("Hello world!", doc.GetText().Trim());
أنظر أيضا
- class CompositeNode
- class Node
- مساحة الاسم Aspose.Words
- المجسم Aspose.Words