Перечисление Aspose::Words::NodeType
Содержание
[
Скрывать
]NodeType enum
Указывает тип узла документа Word.
enum class NodeType
Значения
| Имя | Значение | Описание |
|---|---|---|
| Any | 0 | Указывает все типы узлов. Позволяет выбрать всех дочерних элементов. |
| Document | 1 | Объект Document, который в качестве корня дерева документа предоставляет доступ ко всему документу Word. Узел Document может иметь узлы Section. |
| Section | 2 | Объект Section, который соответствует одному разделу в документе Word. Узел Section может иметь узлы Body и HeaderFooter. |
| Body | 3 | Объект Body, содержащий основной текст раздела (основная текстовая история). Узел Body может иметь узлы Paragraph и Table. |
| HeaderFooter | 4 | Объект HeaderFooter, содержащий текст конкретного верхнего или нижнего колонтитула внутри раздела. Узел HeaderFooter может иметь узлы Paragraph и Table. |
| Table | 5 | Объект Table, представляющий таблицу в документе Word. Узел Table может иметь узлы Row. |
| Row | 6 | Строка таблицы. Узел Row может иметь узлы Cell. |
| Cell | 7 | Ячейка строки таблицы. Узел Cell может иметь узлы Paragraph и Table. |
| Paragraph | 8 | Абзац текста. Узел Paragraph является контейнером для встроенных элементов уровня строки: Run, FieldStart, FieldSeparator, FieldEnd, FormField, Shape, GroupShape, Footnote, Comment, SpecialChar, а также BookmarkStart и BookmarkEnd. |
| BookmarkStart | 9 | Начало маркера закладки. |
| BookmarkEnd | 10 | Конец маркера закладки. |
| EditableRangeStart | 11 | Начало редактируемого диапазона. |
| EditableRangeEnd | 12 | Конец редактируемого диапазона. |
| MoveFromRangeStart | 13 | Начало диапазона MoveFrom. |
| MoveFromRangeEnd | 14 | Конец диапазона MoveFrom. |
| MoveToRangeStart | 15 | Начало диапазона MoveTo. |
| MoveToRangeEnd | 16 | Конец диапазона MoveTo. |
| GroupShape | 17 | Группа фигур, изображений, OLE‑объектов или других групповых фигур. Узел GroupShape может содержать другие узлы Shape и GroupShape. |
| Shape | 18 | Графический объект, такой как фигура OfficeArt, изображение или OLE‑объект. Узел Shape может содержать узлы Paragraph и Table. |
| Comment | 19 | Комментарий в документе Word. Узел Comment может иметь узлы Paragraph и Table. |
| Footnote | 20 | Сноска или концевой сноска в документе Word. Узел Footnote может иметь узлы Paragraph и Table. |
| Run | 21 | Последовательность текста. |
| FieldStart | 22 | Специальный символ, обозначающий начало поля Word. |
| FieldSeparator | 23 | Специальный символ, разделяющий код поля и результат поля. |
| FieldEnd | 24 | Специальный символ, обозначающий конец поля Word. |
| FormField | 25 | Поле формы. |
| SpecialChar | 26 | Специальный символ, который не относится к более конкретным типам специальных символов. |
| SmartTag | 27 | Умный тег, охватывающий одну или несколько встроенных структур (последовательности, изображения, поля и т.д.) внутри абзаца. |
| StructuredDocumentTag | 28 | Позволяет определить специфическую для клиента информацию и способы её представления. |
| StructuredDocumentTagRangeStart | 29 | Начало ranged структурного тега документа, который принимает контент из нескольких разделов. |
| StructuredDocumentTagRangeEnd | 30 | Конец ranged структурного тега документа, который принимает контент из нескольких разделов. |
| GlossaryDocument | 31 | Глоссарийный документ внутри основного документа. |
| BuildingBlock | 32 | Строительный блок внутри глоссарийного документа (например, запись глоссарийного документа). |
| CommentRangeStart | 33 | Маркерный узел, представляющий начало комментируемого диапазона. |
| CommentRangeEnd | 34 | Маркерный узел, представляющий конец комментируемого диапазона. |
| OfficeMath | 35 | Объект Office Math. Может быть уравнением, функцией, матрицей или одним из других математических объектов. Может быть коллекцией математических объектов и также может содержать некоторые нематематические объекты, такие как фрагменты текста. |
| SubDocument | 36 | Узел поддокумента, который является ссылкой на другой документ. |
| System | 37 | Зарезервировано для внутреннего использования Aspose.Words. |
| Null | 38 | Зарезервировано для внутреннего использования Aspose.Words. |
Примеры
Показывает, как пройтись по коллекции дочерних узлов составного узла.
auto doc = System::MakeObject<Aspose::Words::Document>();
// Добавьте два фрагмента текста и одну фигуру в качестве дочерних узлов к первому абзацу этого документа.
auto paragraph = System::ExplicitCast<Aspose::Words::Paragraph>(doc->GetChild(Aspose::Words::NodeType::Paragraph, 0, true));
paragraph->AppendChild<System::SharedPtr<Aspose::Words::Run>>(System::MakeObject<Aspose::Words::Run>(doc, u"Hello world! "));
auto shape = System::MakeObject<Aspose::Words::Drawing::Shape>(doc, Aspose::Words::Drawing::ShapeType::Rectangle);
shape->set_Width(200);
shape->set_Height(200);
// Обратите внимание, что 'CustomNodeId' не сохраняется в выходной файл и существует только в течение жизни узла.
shape->set_CustomNodeId(100);
shape->set_WrapType(Aspose::Words::Drawing::WrapType::Inline);
paragraph->AppendChild<System::SharedPtr<Aspose::Words::Drawing::Shape>>(shape);
paragraph->AppendChild<System::SharedPtr<Aspose::Words::Run>>(System::MakeObject<Aspose::Words::Run>(doc, u"Hello again!"));
// Итерируйтесь по коллекции непосредственных дочерних элементов абзаца,
// и выводите любые фрагменты текста или фигуры, которые мы находим внутри.
System::SharedPtr<Aspose::Words::NodeCollection> children = paragraph->GetChildNodes(Aspose::Words::NodeType::Any, false);
ASSERT_EQ(3, paragraph->GetChildNodes(Aspose::Words::NodeType::Any, false)->get_Count());
for (auto&& child : System::IterateOver(children))
{
switch (child->get_NodeType())
{
case Aspose::Words::NodeType::Run:
std::cout << "Run contents:" << std::endl;
std::cout << System::String::Format(u"\t\"{0}\"", child->GetText().Trim()) << std::endl;
break;
case Aspose::Words::NodeType::Shape:
{
auto childShape = System::ExplicitCast<Aspose::Words::Drawing::Shape>(child);
std::cout << "Shape:" << std::endl;
std::cout << System::String::Format(u"\t{0}, {1}x{2}", childShape->get_ShapeType(), childShape->get_Width(), childShape->get_Height()) << std::endl;
ASSERT_EQ(100, shape->get_CustomNodeId());
break;
}
default:
break;
}
}
См. также
- Namespace Aspose::Words
- Library Aspose.Words for C++