Node
İçindekiler
[
Saklamak
]Node class
Bir Word belgesinin tüm düğümleri 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 Node
Özellikleri
İsim | Tanım |
---|---|
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. |
virtual IsComposite { get; } | İadelerdoğru bu düğüm başka düğümler içeriyorsa. |
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. |
Clone(bool) | Düğümün bir kopyasını oluşturur. |
GetAncestor(NodeType) | Belirtilenin ilk atayı alırNodeType . |
GetAncestor(Type) | Belirtilen nesne türünün ilk atayı alır. |
virtual GetText() | Bu düğümün ve tüm alt öğelerinin metnini alır. |
NextPreOrder(Node) | Ön sipariş ağaç geçiş algoritmasına göre sonraki düğümü alır. |
PreviousPreOrder(Node) | Ön sipariş ağaç geçiş algoritmasına göre önceki düğümü alır. |
Remove() | Kendini üst öğeden kaldırır. |
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. |
static NodeTypeToString(NodeType) | Düğüm türü numaralandırma değerini kullanıcı dostu bir dizeye dönüştüren bir yardımcı program yöntemi. |
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.
Node
sınıf:
- Alt düğüm arayüzünü tanımlar.
- Düğümleri ziyaret etmek için arayüzü tanımlar.
- Varsayılan klonlama yeteneği sağlar.
- Ana düğüm ve sahip belge mekanizmalarını uygular.
- Kardeş düğümlere erişimi uygular.
Örnekler
Belirli bir türdeki tüm alt düğümlerin bileşik bir düğümden nasıl kaldırılacağını gösterir.
Document doc = new Document(MyDir + "Tables.docx");
Assert.AreEqual(2, doc.GetChildNodes(NodeType.Table, true).Count);
Node curNode = doc.FirstSection.Body.FirstChild;
while (curNode != null)
{
// Bu düğümü sildikten sonra ona geçmek istersek diye bir sonraki kardeş düğümü değişken olarak kaydedin.
Node nextNode = curNode.NextSibling;
// Bir bölüm gövdesi Paragraf ve Tablo düğümleri içerebilir.
// Düğüm bir Tablo ise onu ebeveynden kaldırın.
if (curNode.NodeType == NodeType.Table)
curNode.Remove();
curNode = nextNode;
}
Assert.AreEqual(0, doc.GetChildNodes(NodeType.Table, true).Count);
Bileşik düğümün nasıl kopyalanacağını gösterir.
Document doc = new Document();
Paragraph para = doc.FirstSection.Body.FirstParagraph;
para.AppendChild(new Run(doc, "Hello world!"));
// Aşağıda bileşik bir düğümü klonlamanın iki yolu verilmiştir.
// 1 - Bir düğümün klonunu oluşturun ve aynı zamanda onun alt düğümlerinin her birinin bir kopyasını oluşturun.
Node cloneWithChildren = para.Clone(true);
Assert.IsTrue(((CompositeNode)cloneWithChildren).HasChildNodes);
Assert.AreEqual("Hello world!", cloneWithChildren.GetText().Trim());
// 2 - Hiçbir çocuk olmadan tek başına bir düğümün klonunu oluşturun.
Node cloneWithoutChildren = para.Clone(false);
Assert.IsFalse(((CompositeNode)cloneWithoutChildren).HasChildNodes);
Assert.AreEqual(string.Empty, cloneWithoutChildren.GetText().Trim());
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
- ad alanı Aspose.Words
- toplantı Aspose.Words