【问题标题】:how to get name of the node in boost::ptree (not the name of child, we know only the filename)如何在 boost::ptree 中获取节点的名称(不是孩子的名称,我们只知道文件名)
【发布时间】:2018-06-08 07:21:16
【问题描述】:

当我们解析任何一个xml文件时,我们得到了一个ptree,但是如何知道根节点的名字呢? 或者当我们在函数中传递一个节点作为参数时,那么我们如何在函数中获取节点的名称。

【问题讨论】:

  • 为了解析 XML,我建议使用 XML 库。 Boost Property Tree 不是 XML 库。

标签: boost boost-propertytree


【解决方案1】:

没有这样的方法。如果您可以访问祖先(例如树根),您可以使用迭代来找到它。

有关示例代码,请参阅此答案:

【讨论】:

    【解决方案2】:

    你应该提前知道节点的名称,或者你可以使用循环找到它

    for (auto it : ptree)
    {
        std::string name = it.first;
    }
    

    【讨论】:

    • 这将给出 ptree 子节点的名称(如果存在则从属性开始),我想知道 ptree 的名称。就像在 libxml 中我们可以通过 node->get_name() 获取名称,它只是给出了节点的名称
    猜你喜欢
    • 2013-05-29
    • 1970-01-01
    • 2012-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多