本文整理汇总了C++中CL_DomElement::get_attributes方法的典型用法代码示例。如果您正苦于以下问题:C++ CL_DomElement::get_attributes方法的具体用法?C++ CL_DomElement::get_attributes怎么用?C++ CL_DomElement::get_attributes使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CL_DomElement
的用法示例。
在下文中一共展示了CL_DomElement::get_attributes方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: find_prefix
CL_DomString CL_DomNode::find_prefix(const CL_DomString &namespace_uri) const
{
CL_DomElement cur = to_element();
while (!cur.is_null())
{
CL_DomNamedNodeMap attributes = cur.get_attributes();
int size = attributes.get_length();
for (int index = 0; index < size; index++)
{
CL_DomNode attribute = attributes.item(index);
if (attribute.get_prefix() == "xmlns" &&
attribute.get_node_value() == namespace_uri)
{
return attribute.get_local_name();
}
}
cur = cur.get_parent_node().to_element();
}
return CL_DomString();
}
示例2: cloneElement
//рекурсивное клонирование XML-элемента
CL_DomElement cloneElement(CL_DomElement &element, CL_DomDocument &doc)
{
//создаем элемент-клон
CL_DomElement clone(doc, element.get_tag_name());
//копируем атрибуты
CL_DomNamedNodeMap attributes = element.get_attributes();
unsigned long length = attributes.get_length();
for (unsigned long i = 0; i < length; ++i)
{
CL_DomNode attr = attributes.item(i);
clone.set_attribute(attr.get_node_name(), attr.get_node_value());
}
//рекурсивно копируем дочерние элементы
for (CL_DomElement child = element.get_first_child_element(); !child.is_null(); child = child.get_next_sibling_element())
clone.append_child(cloneElement(child, doc));
//возвращаем клонированный элемент
return clone;
}