NodeCollection

NodeCollection class

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

Daha fazlasını öğrenmek için şu adresi ziyaret edin:Aspose.Words Belge Nesne Modeli (DOM) dokümantasyon makalesi.

public class NodeCollection : IEnumerable<Node>

Özellikleri

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

yöntemler

İsimTanım
Add(Node)Koleksiyonun sonuna bir düğüm ekler.
Clear()Tüm düğümleri bu koleksiyondan ve belgeden kaldırır.
Contains(Node)Bir düğümün koleksiyonda olup olmadığını belirler.
GetEnumerator()Düğümlerin koleksiyonu üzerinde basit bir “foreach” stili yinelemesi sağlar.
IndexOf(Node)Belirtilen düğümün sıfır tabanlı dizinini döndürür.
Insert(int, Node)Belirtilen dizindeki 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; yalnızca belirtilen türden bir düğüm seçimidir, ancak düğümler, ağaçta ilgili üst düğümleri altında depolanır.

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

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

NodeCollection tarafından iade edilirGetChildNodes ve aynı zamanda aşağıdaki gibi yazılan düğüm koleksiyonları için temel sınıf görevi görür:SectionCollection , ParagraphCollection vesaire.

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

Örnekler

Tüm metin kutusu şekillerinin görüntü ş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