CompositeNode
İçindekiler
[
Saklamak
]CompositeNode class
Diğer düğümleri içerebilen düğümler için temel sınıf.
Daha fazlasını öğrenmek için şu adresi ziyaret edin:Aspose.Words Belge Nesne Modeli (DOM) dokümantasyon makalesi.
public abstract class CompositeNode : Node, IEnumerable<Node>, IXPathNavigable
Özellikleri
İsim | Tanım |
---|---|
Count { get; } | Bu düğümün doğrudan alt öğelerinin 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; } | İadelerdoğru bu düğümün herhangi bir alt düğümü varsa. |
override IsComposite { get; } | İadelerdoğru çünkü bu düğüm alt düğümlere sahip olabilir. |
LastChild { get; } | Düğümün son çocuğunu alır. |
NextSibling { get; } | Bu düğümden hemen sonra gelen düğümü alır. |
abstract NodeType { get; } | Bu düğümün türünü alır. |
ParentNode { get; } | Bu düğümün doğrudan ebeveynini alır. |
PreviousSibling { get; } | Bu düğümden hemen önceki düğümü alır. |
Range { get; } | Bir değeri döndürürRange Bu düğümde bulunan bir belgenin bölümünü temsil eden nesne. |
yöntemler
İsim | Tanım |
---|---|
abstract Accept(DocumentVisitor) | Ziyaretçi kabul eder. |
AppendChild(Node) | 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üğümlerin arasında geçiş yapmak ve düğümleri okumak için kullanılabilecek gezgini oluşturur. |
GetAncestor(NodeType) | Belirtilenin ilk atayı alırNodeType . |
GetAncestor(Type) | Belirtilen nesne türünün ilk atayı 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 öğelerinin metnini alır. |
IndexOf(Node) | Alt düğüm dizisinde belirtilen alt düğümün dizinini döndürür. |
InsertAfter(Node, Node) | Belirtilen düğümü, belirtilen referans düğümünün hemen sonrasına ekler. |
InsertBefore(Node, Node) | Belirtilen düğümü, belirtilen referans düğümünün hemen öncesine ekler. |
NextPreOrder(Node) | Ön sipariş ağaç geçiş algoritmasına göre sonraki düğümü alır. |
PrependChild(Node) | Belirtilen düğümü, bu düğüm için alt düğümler listesinin başına ekler. |
PreviousPreOrder(Node) | Ön sipariş ağaç geçiş algoritmasına göre önceki düğümü alır. |
Remove() | Kendini üst öğeden kaldırır. |
RemoveAllChildren() | Geçerli düğümün tüm alt düğümlerini kaldırır. |
RemoveChild(Node) | 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 listesini seçer. |
SelectSingleNode(string) | İlkini seçerNode XPath ifadesiyle eşleşen. |
ToString(SaveFormat) | Düğümün içeriğini belirtilen formatta 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’e benzer şekilde bir düğüm ağacı olarak temsil edilir.
Daha fazla bilgi için Bileşik tasarım desenine bakın.
CompositeNode
sınıf:
- Alt düğümlere erişim sağlar.
- Çocuk ekleme ve çıkarma gibi Bileşik işlemleri uygular.
- XPath navigasyonu için yöntemler sağlar.
Örnekler
Bileşik bir düğümün alt düğüm koleksiyonunda nasıl geçiş yapılacağını gösterir.
Document doc = new Document();
// Bu belgenin ilk paragrafına alt düğümler olarak iki işlem ve bir şekil 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'in bir çıktı dosyasına kaydedilmediğini ve yalnızca düğümün ömrü boyunca mevcut olduğunu unutmayın.
shape.CustomNodeId = 100;
shape.WrapType = WrapType.Inline;
paragraph.AppendChild(shape);
paragraph.AppendChild(new Run(doc, "Hello again!"));
// Paragrafın yakın alt öğelerinin toplanması yoluyla yineleme yapın,
// ve içinde bulduğumuz tüm sayıları veya şekilleri yazdırıyoruz.
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
- class Node
- ad alanı Aspose.Words
- toplantı Aspose.Words