xml-parsing - pugixml 子节点数

标签 xml-parsing count size 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()) , 也是线性的 - 没有对子节点计数的恒定时间访问。

关于xml-parsing - pugixml 子节点数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14329738/

相关文章:

mysql - 解析 PubMed XML 以提交到 mySQL 数据库 (XML::Twig)

c# - 列出 : Count vs Count()

php - 从数据库获取类别期间按类别过滤器计算行数

java - 获取 HTTPRequest/HTTPResponse header 大小(以字节为单位)

powershell - 列出名称和大小的目录

image - 人体的宽度和高度

javascript - 如何通过 XML 元素的一个属性找到该元素,并检索其另一个属性的值?

java - Jackson:XML 绑定(bind)——处理 Null 与空字符串

无序列和多次出现的 XML 模式

sql - 使用 SQL 计算列中的项目数