我需要使用 Boost 属性树编写一个 XML 解析器,它可以替换现有的 MSXML DOM 解析器。基本上我的代码应该返回子节点列表、子节点数量等。这可以使用属性树来实现吗?例如。GetfirstChild()、selectNodes()、Getlength() 等。
我看到了很多与 Boost Property Tree 相关的 API,但文档似乎很少且令人困惑。到目前为止,我能够使用 BOOST_FOREACH 解析整个 XML。但是每个节点的路径都是硬编码的,这不符合我的目的。
我需要使用 Boost 属性树编写一个 XML 解析器,它可以替换现有的 MSXML DOM 解析器。基本上我的代码应该返回子节点列表、子节点数量等。这可以使用属性树来实现吗?例如。GetfirstChild()、selectNodes()、Getlength() 等。
我看到了很多与 Boost Property Tree 相关的 API,但文档似乎很少且令人困惑。到目前为止,我能够使用 BOOST_FOREACH 解析整个 XML。但是每个节点的路径都是硬编码的,这不符合我的目的。
boost::property_tree can be used to parse XML and it's a tree so you can use as XML DOM substitution but the library is not intended to be fully fledged XML parser and it's not complaint with XML standard. For instance it can successfully parse non-wellformed xml input and it doesn't support some of XML features. So it's your choice - if you want simple interface to simple XML configuration then yes, you should use boost::property_tree