CompositeNode

CompositeNode class

Diğer düğümleri içerebilen düğümler için temel sınıf.

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

public abstract class CompositeNode : Node, IEnumerable<Node>, IXPathNavigable

Özellikleri

İsimTanım
Count { get; }Bu düğümün hemen alt düğümlerinin sayısını alır.
CustomNodeId { get; set; }Özel düğüm tanımlayıcısını belirtir.
virtual Document { get; }Bu düğümün ait olduğu belgeyi alır.
FirstChild { get; }Düğümün ilk çocuğunu alır.
HasChildNodes { get; }Geri Döndürürdoğru eğer bu düğümün herhangi bir alt düğümü varsa.
override IsComposite { get; }Geri Döndürürdoğru çünkü bu düğümün alt düğümleri olabilir.
LastChild { get; }Düğümün son çocuğunu alır.
NextSibling { get; }Bu düğümü hemen takip eden düğümü alır.
abstract NodeType { get; }Bu düğümün türünü alır.
ParentNode { get; }Bu düğümün en yakın üst düğümünü alır.
PreviousSibling { get; }Bu düğümden hemen önceki düğümü alır.
Range { get; }BirRangebu düğümde bulunan bir belgenin bölümünü temsil eden nesne.

yöntemler

İsimTanım
abstract Accept(DocumentVisitor)Bir ziyaretçiyi kabul eder.
abstract AcceptEnd(DocumentVisitor)Türetilmiş bir sınıfta uygulandığında, belirtilen belge ziyaretçisinin VisitXXXEnd yöntemini çağırır.
abstract AcceptStart(DocumentVisitor)Türetilmiş bir sınıfta uygulandığında, belirtilen belge ziyaretçisinin VisitXXXStart yöntemini çağırır.
AppendChild<T>(T)Belirtilen düğümü bu düğüm için alt düğümler listesinin sonuna ekler.
Clone(bool)Düğümün bir kopyasını oluşturur.
CreateNavigator()Düğümleri gezmek ve okumak için kullanılabilen gezgini oluşturur.
GetAncestor(NodeType)Belirtilenin ilk atasını alırNodeType .
GetAncestor(Type)Belirtilen nesne türünün ilk atasını alır.
GetChild(NodeType, int, bool)Belirtilen türle eşleşen N’inci alt düğümü döndürür.
GetChildNodes(NodeType, bool)Belirtilen türle eşleşen alt düğümlerin canlı bir koleksiyonunu döndürür.
GetEnumerator()Bu düğümün alt düğümleri üzerindeki her stil yinelemesi için destek sağlar.
override GetText()Bu düğümün ve tüm alt düğümlerinin metnini alır.
IndexOf(Node)Alt düğüm dizisindeki belirtilen alt düğümün dizinini döndürür.
InsertAfter<T>(T, Node)Belirtilen düğümü belirtilen referans düğümünden hemen sonra ekler.
InsertBefore<T>(T, Node)Belirtilen düğümü belirtilen referans düğümünden hemen önce ekler.
NextPreOrder(Node)Ön sipariş ağacı geçiş algoritmasına göre bir sonraki düğümü alır.
PrependChild<T>(T)Belirtilen düğümü bu düğüm için alt düğümler listesinin başına ekler.
PreviousPreOrder(Node)Ön sipariş ağacı geçiş algoritmasına göre önceki düğümü alır.
Remove()Kendini ana öğeden kaldırır.
RemoveAllChildren()Geçerli düğümün tüm alt düğümlerini kaldırır.
RemoveChild<T>(T)Belirtilen alt düğümü kaldırır.
RemoveSmartTags()Tümünü kaldırırSmartTag geçerli düğümün alt düğümleri.
SelectNodes(string)XPath ifadesiyle eşleşen düğümlerin bir listesini seçer.
SelectSingleNode(string)İlkini seçerNode XPath ifadesiyle eşleşen.
ToString(SaveFormat)Düğümün içeriğini belirtilen biçimde bir dizeye aktarır.
ToString(SaveOptions)Belirtilen kaydetme seçeneklerini kullanarak düğümün içeriğini bir dizeye aktarır.

Notlar

Bir belge, DOM veya XmlDocument’a benzer şekilde düğümlerden oluşan bir ağaç olarak temsil edilir.

Daha fazla bilgi için Composite tasarım desenine bakın.

TheCompositeNode sınıf:

  • Alt düğümlere erişim sağlar.
  • Çocuk ekleme ve çıkarma gibi Bileşik işlemleri uygular.
  • XPath gezintisi için yöntemler sağlar.

Örnekler

Bir bileşik düğümün alt düğüm koleksiyonunda nasıl dolaşılacağını gösterir.

Document doc = new Document();

// Bu belgenin ilk paragrafına iki çalışma ve bir şekil alt düğüm olarak ekleyin.
Paragraph paragraph = (Paragraph)doc.GetChild(NodeType.Paragraph, 0, true);
paragraph.AppendChild(new Run(doc, "Hello world! "));

Shape shape = new Shape(doc, ShapeType.Rectangle);
shape.Width = 200;
shape.Height = 200;
// 'CustomNodeId' öğesinin bir çıktı dosyasına kaydedilmediğini ve yalnızca düğümün yaşam süresi boyunca var olduğunu unutmayın.
shape.CustomNodeId = 100;
shape.WrapType = WrapType.Inline;
paragraph.AppendChild(shape);

paragraph.AppendChild(new Run(doc, "Hello again!"));

// Paragrafın hemen altındaki alt öğelerin koleksiyonunda yineleme yapın,
// ve içinde bulduğumuz herhangi bir koşuyu veya şekli yazdırırız.
NodeCollection children = paragraph.GetChildNodes(NodeType.Any, false);

Assert.AreEqual(3, paragraph.GetChildNodes(NodeType.Any, false).Count);

foreach (Node child in children)
    switch (child.NodeType)
    {
        case NodeType.Run:
            Console.WriteLine("Run contents:");
            Console.WriteLine($"\t\"{child.GetText().Trim()}\"");
            break;
        case NodeType.Shape:
            Shape childShape = (Shape)child;
            Console.WriteLine("Shape:");
            Console.WriteLine($"\t{childShape.ShapeType}, {childShape.Width}x{childShape.Height}");
            break;
    }

Ayrıca bakınız