NodeType

NodeType enumeration

指定 Word 文档节点的类型。

public enum NodeType

价值观

姓名价值描述
Any0表示所有节点类型。允许选择所有子项。
Document1ADocument对象认为,作为文档树的根, 提供对整个 Word 文档的访问。
Section2ASection对应于 Word 文档中的一个部分的对象。
Body3ABody包含章节正文(正文故事)的对象。
HeaderFooter4AHeaderFooter包含节内特定页眉或页脚文本的对象。
Table5ATable表示 Word 文档中的表格的对象。
Row6桌子的一行。
Cell7表格行的一个单元格。
Paragraph8一段文字。
BookmarkStart9书签标记的开头。
BookmarkEnd10书签标记的末端。
EditableRangeStart11可编辑范围的开始。
EditableRangeEnd12可编辑范围的结尾。
MoveFromRangeStart13MoveFrom 范围的开始。
MoveFromRangeEnd14MoveFrom 范围的末尾。
MoveToRangeStart15MoveTo 范围的开始。
MoveToRangeEnd16MoveTo 范围的末尾。
GroupShape17一组形状、图像、OLE 对象或其他组形状。
Shape18绘图对象,例如 OfficeArt 形状、图像或 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;
    }

也可以看看