【问题标题】:pugixml - iterating over specific nodespugixml - 迭代特定节点
【发布时间】:2021-08-15 17:24:36
【问题描述】:

我有一个带有子节点的节点的 xml 文档,但我想遍历名称存储在数组中的特定节点,例如:

const char* childrenNodes[]={"childNodeA", "childNodeC", "childNodeK"};

我可以使用next_sibling 函数,它将上述数组的元素作为参数。你知道如何使用 pugixml 实现这样的循环吗?

【问题讨论】:

    标签: c++ xml-parsing pugixml


    【解决方案1】:

    next_sibling 有两个覆盖

    xml_node next_sibling() const;
    xml_node next_sibling(const char_t* name) const;
    

    您正专注于第二个。而是使用第一个不带参数的,然后只检查节点名称是否在数组中

    pugi::xml_node node = root.first_child();
    for (; node; node = node.next_sibling()
    {
        if (std::find(std::begin(childrenNodes), std::end(childrenNodes), node.name()) != std::end(childrenNodes))
        {
            // ...
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2012-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-02
      • 2012-08-23
      • 1970-01-01
      • 2021-08-16
      • 1970-01-01
      相关资源
      最近更新 更多