NodeTypeToString
Contenido
[
Ocultar
]Node.NodeTypeToString method
Un método de utilidad que convierte un valor de enumeración de tipo de nodo en una cadena fácil de usar.
public static string NodeTypeToString(NodeType nodeType)
Ejemplos
Muestra cómo utilizar la propiedad NextSibling de un nodo para enumerar a sus hijos inmediatos.
Document doc = new Document(MyDir + "Paragraphs.docx");
for (Node node = doc.FirstSection.Body.FirstChild; node != null; node = node.NextSibling)
{
Console.WriteLine();
Console.WriteLine($"Node type: {Node.NodeTypeToString(node.NodeType)}");
string contents = node.GetText().Trim();
Console.WriteLine(contents == string.Empty ? "This node contains no text" : $"Contents: \"{node.GetText().Trim()}\"");
}
Muestra cómo recorrer el árbol de nodos secundarios de un nodo compuesto.
public void RecurseChildren()
{
Document doc = new Document(MyDir + "Paragraphs.docx");
// Cualquier nodo que pueda contener nodos secundarios, como el propio documento, es compuesto.
Assert.True(doc.IsComposite);
// Invoca la función recursiva que recorrerá e imprimirá todos los nodos secundarios de un nodo compuesto.
TraverseAllNodes(doc, 0);
}
/// <summary>
/// Recorre recursivamente un árbol de nodos mientras imprime el tipo de cada nodo
/// con una sangría dependiendo de la profundidad así como del contenido de todos los nodos en línea.
/// </summary>
public void TraverseAllNodes(CompositeNode parentNode, int depth)
{
for (Node childNode = parentNode.FirstChild; childNode != null; childNode = childNode.NextSibling)
{
Console.Write($"{new string('\t', depth)}{Node.NodeTypeToString(childNode.NodeType)}");
// Recurse al nodo si es compuesto. De lo contrario, imprima su contenido si es un nodo en línea.
if (childNode.IsComposite)
{
Console.WriteLine();
TraverseAllNodes((CompositeNode)childNode, depth + 1);
}
else if (childNode is Inline)
{
Console.WriteLine($" - \"{childNode.GetText().Trim()}\"");
}
else
{
Console.WriteLine();
}
}
}
Ver también
- enum NodeType
- class Node
- espacio de nombres Aspose.Words
- asamblea Aspose.Words