NodeCollection
NodeCollection class
يمثل مجموعة من العقد من نوع معين.
لمعرفة المزيد، قم بزيارةنموذج كائن المستند (DOM) في Aspose.Words مقالة توثيقية.
public class NodeCollection : IEnumerable<Node>
الخصائص
اسم | وصف |
---|---|
Count { get; } | يحصل على عدد العقد في المجموعة. |
Item { get; } | يسترجع عقدة عند الفهرس المحدد. |
طُرق
اسم | وصف |
---|---|
Add(Node) | يضيف عقدة إلى نهاية المجموعة. |
Clear() | يزيل جميع العقد من هذه المجموعة ومن المستند. |
Contains(Node) | يحدد ما إذا كانت العقدة موجودة في المجموعة. |
GetEnumerator() | يوفر تكرارًا بسيطًا بأسلوب “foreach” عبر مجموعة العقد. |
IndexOf(Node) | يعيد الفهرس المبني على الصفر للعقدة المحددة. |
Insert(int, Node) | يقوم بإدراج عقدة في المجموعة عند الفهرس المحدد. |
Remove(Node) | يزيل العقدة من المجموعة ومن المستند. |
RemoveAt(int) | يزيل العقدة الموجودة في الفهرس المحدد من المجموعة ومن المستند. |
ToArray() | نسخ جميع العقد من المجموعة إلى مجموعة جديدة من العقد. |
ملاحظات
NodeCollection
لا يمتلك العقد التي يحتويها، بل هو مجرد مجموعة مختارة من nodes من النوع المحدد، ولكن يتم تخزين العقد في الشجرة أسفل العقد الأصلية الخاصة بها.
NodeCollection
يدعم الوصول المفهرس والتكرار ويوفر طرق الإضافة والإزالة.
الNodeCollection
المجموعة “حية”، أي أن التغييرات التي تطرأ على أبناء العقدة object التي تم إنشاؤها منها تنعكس على الفور في العقد التي تم إرجاعها بواسطةNodeCollection
خصائص وطرق .
NodeCollection
يتم إرجاعه بواسطةGetChildNodes
ويعمل أيضًا كفئة أساسية لمجموعات العقد المكتوبة مثلSectionCollection
، ParagraphCollection
إلخ.
NodeCollection
يمكن أن يكون “مسطحًا” ويحتوي فقط على أبناء مباشرين للعقدة التي تم إنشاؤه منها ، أو يمكن أن يكون “عميقًا” ويحتوي على جميع الأطفال المنحدرين.
أمثلة
يوضح كيفية استبدال كافة أشكال مربع النص بأشكال الصور.
Document doc = new Document(MyDir + "Textboxes in drawing canvas.docx");
Shape[] shapes = doc.GetChildNodes(NodeType.Shape, true).OfType<Shape>().ToArray();
Assert.AreEqual(3, shapes.Count(s => s.ShapeType == ShapeType.TextBox));
Assert.AreEqual(1, shapes.Count(s => s.ShapeType == ShapeType.Image));
foreach (Shape shape in shapes)
{
if (shape.ShapeType == ShapeType.TextBox)
{
Shape replacementShape = new Shape(doc, ShapeType.Image);
replacementShape.ImageData.SetImage(ImageDir + "Logo.jpg");
replacementShape.Left = shape.Left;
replacementShape.Top = shape.Top;
replacementShape.Width = shape.Width;
replacementShape.Height = shape.Height;
replacementShape.RelativeHorizontalPosition = shape.RelativeHorizontalPosition;
replacementShape.RelativeVerticalPosition = shape.RelativeVerticalPosition;
replacementShape.HorizontalAlignment = shape.HorizontalAlignment;
replacementShape.VerticalAlignment = shape.VerticalAlignment;
replacementShape.WrapType = shape.WrapType;
replacementShape.WrapSide = shape.WrapSide;
shape.ParentNode.InsertAfter(replacementShape, shape);
shape.Remove();
}
}
shapes = doc.GetChildNodes(NodeType.Shape, true).OfType<Shape>().ToArray();
Assert.AreEqual(0, shapes.Count(s => s.ShapeType == ShapeType.TextBox));
Assert.AreEqual(4, shapes.Count(s => s.ShapeType == ShapeType.Image));
doc.Save(ArtifactsDir + "Shape.ReplaceTextboxesWithImages.docx");
أنظر أيضا
- class Node
- مساحة الاسم Aspose.Words
- المجسم Aspose.Words