Aspose::Words::Node::get_CustomNodeId метод
Содержание
[
Скрывать
]Node::get_CustomNodeId method
Указывает пользовательский идентификатор узла.
int32_t Aspose::Words::Node::get_CustomNodeId() const
Примечания
По умолчанию равно нулю.
Этот идентификатор можно задавать и использовать произвольно. Например, в качестве ключа для получения внешних данных.
Важно: указанное значение не сохраняется в выходной файл и существует только в течение жизни узла.
Примеры
Показывает, как пройтись по коллекции дочерних узлов составного узла.
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;
}
}
См. также
- Class Node
- Namespace Aspose::Words
- Library Aspose.Words for C++