NodeType

NodeType enumeration

指定 Word 文档节点的类型。

public enum NodeType

价值观

姓名价值描述
Any0表示所有节点类型。允许选择所有子节点。
Document1一个Document对象,作为文档树的根, 提供对整个 Word 文档的访问。
Section2一个Section与 Word 文档中的一个部分对应的对象。
Body3一个Body包含某个部分的主要文本(主要文本故事)的对象。
HeaderFooter4一个HeaderFooter包含某个部分内特定页眉或页脚的文本的对象。
Table5一个Table代表 Word 文档中的表格的对象。
Row6表格中的一行。
Cell7表格行的一个单元格。
Paragraph8一段文字。
BookmarkStart9书签标记的开头。
BookmarkEnd10书签标记的末尾。
EditableRangeStart11可编辑范围的起点。
EditableRangeEnd12可编辑范围的结束。
MoveFromRangeStart13MoveFrom 范围的开始。
MoveFromRangeEnd14MoveFrom 范围的结束。
MoveToRangeStart15MoveTo 范围的开始。
MoveToRangeEnd16MoveTo 范围的结束。
GroupShape17一组形状、图像、OLE 对象或其他组形状。
Shape18绘图对象,例如艺术字形状、图像或 OLE 对象。
Comment19Word 文档中的注释。
Footnote20Word 文档中的脚注或尾注。
Run21一段文本。
FieldStart22指定 Word 字段开始的特殊字符。
FieldSeparator23将字段代码与字段结果分隔开的特殊字符。
FieldEnd24指示 Word 字段结束的特殊字符。
FormField25表单字段。
SpecialChar26不属于更具体的特殊字符类型的特殊字符。
SmartTag27段落内一个或多个内联结构(运行、图像、字段等)周围的智能标签
StructuredDocumentTag28允许定义客户特定信息及其呈现方式。
StructuredDocumentTagRangeStart29开始远程接受多部分内容的结构化文档标签。
StructuredDocumentTagRangeEnd30结束远程接受多部分内容的结构化文档标签。
GlossaryDocument31主文档内的词汇表文档。
BuildingBlock32词汇表文档中的构建块(例如词汇表文档条目)。
CommentRangeStart33表示注释范围开始的标记节点。
CommentRangeEnd34表示注释范围结束的标记节点。
OfficeMath35Office Math 对象。可以是方程、函数、矩阵或其他数学对象。 可以是数学对象的集合,也可以包含一些非数学对象,例如文本串。
SubDocument36子文档节点,是指向另一个文档的链接。
System37保留供 Aspose.Words. 内部使用
Null38保留供 Aspose.Words. 内部使用

例子

展示如何遍历复合节点的子节点集合。

Document doc = new Document();

// 将两个运行和一个形状作为子节点添加到此文档的第一段。
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”不会保存到输出文件中,并且仅在节点生命周期内存在。
shape.CustomNodeId = 100;
shape.WrapType = WrapType.Inline;
paragraph.AppendChild(shape);

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

// 遍历段落的直接子段落集合,
// 并打印我们在其中发现的任何运行或形状。
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;
    }

也可以看看