NodeCollection

NodeCollection class

Belirli bir türdeki düğümlerin bir koleksiyonunu temsil eder.

Daha fazla bilgi edinmek için şu adresi ziyaret edin:Aspose.Words Belge Nesne Modeli (DOM) belgeleme makalesi.

public class NodeCollection : IEnumerable<Node>

Özellikleri

İsimTanım
Count { get; }Koleksiyondaki düğüm sayısını alır.
Item { get; }Belirtilen dizindeki bir düğümü alır.

yöntemler

İsimTanım
Add(Node)Koleksiyonun sonuna bir düğüm ekler.
Clear()Bu koleksiyondan ve belgeden tüm düğümleri kaldırır.
Contains(Node)Bir düğümün koleksiyonda olup olmadığını belirler.
GetEnumerator()Düğüm koleksiyonu üzerinde basit bir “foreach” tarzı yineleme sağlar.
IndexOf(Node)Belirtilen düğümün sıfır tabanlı dizinini döndürür.
Insert(int, Node)Belirtilen dizinde koleksiyona bir düğüm ekler.
Remove(Node)Düğümü koleksiyondan ve belgeden kaldırır.
RemoveAt(int)Belirtilen dizindeki düğümü koleksiyondan ve belgeden kaldırır.
ToArray()Koleksiyondaki tüm düğümleri yeni bir düğüm dizisine kopyalar.

Notlar

NodeCollection içerdiği düğümlerin sahibi değildir, bunun yerine belirtilen türdeki nodes düğümlerinin bir seçimidir, ancak düğümler ağaçta kendi üst düğümlerinin altında saklanır.

NodeCollection dizinli erişimi, yinelemeyi destekler ve ekleme ve kaldırma yöntemleri sağlar.

TheNodeCollection koleksiyon “canlıdır”, yani oluşturulduğu object düğümünün çocuklarında yapılan değişiklikler, tarafından döndürülen düğümlere hemen yansıtılırNodeCollection özellikleri ve yöntemleri.

NodeCollection tarafından iade edilirGetChildNodes ve ayrıca şu türdeki düğüm koleksiyonları için bir temel sınıf görevi görür:SectionCollection , ParagraphCollection vesaire.

NodeCollection“düz” olabilir ve yalnızca oluşturulduğu düğümün doğrudan alt öğelerini içerebilir veya “derin” olabilir ve tüm alt öğeleri içerebilir.

Örnekler

Tüm metin kutusu şekillerinin resim şekilleriyle nasıl değiştirileceğini gösterir.

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");

Ayrıca bakınız