pugixml节点对象是否有多个子节点的方法?我不能在文档中找到它,并有如下使用迭代器:pugixml子节点的数量
int n = 0;
for (pugi::xml_node ch_node = xMainNode.child("name"); ch_node; ch_node = ch_node.next_sibling("name")) n++;
pugixml节点对象是否有多个子节点的方法?我不能在文档中找到它,并有如下使用迭代器:pugixml子节点的数量
int n = 0;
for (pugi::xml_node ch_node = xMainNode.child("name"); ch_node; ch_node = ch_node.next_sibling("name")) n++;
没有内置函数来直接计算是什么;一个其它的方法是使用std::distance
:
size_t n = std::distance(xMainNode.children("name").begin(), xMainNode.children("name").end());
当然,这是在子节点的数目线性;请注意,计算所有子节点的数量std::distance(xMainNode.begin(), xMainNode.end())
也是线性的 - 不存在对子节点数量的常量访问。
你可以使用基于一个XPath的搜索表达式(无效率的保证,虽然):
xMainNode.select_nodes("name").size()
不用担心,我恢复了它刚才之前,我看了你的消息在这里。感谢您的优秀代码! – lsdavies