用Boost属性树替换DOM解析器

用Boost属性树替换DOM解析器,boost,xml-parsing,boost-propertytree,Boost,Xml Parsing,Boost Propertytree,我需要使用Boost属性树编写一个XML解析器,它可以替换现有的MSXML DOM解析器。基本上,我的代码应该返回子节点的列表、子节点的数量等。这可以通过使用属性树来实现吗?例如,GetfirstChild()、selectNodes()、Getlength()等 我看到了很多与Boost属性树相关的API,但文档似乎是赤裸裸的,而且令人困惑。到目前为止,我能够使用BOOST_FOREACH解析整个XML。但是每个节点的路径都是硬编码的,这不符合我的目的 boost::property_tree

我需要使用Boost属性树编写一个XML解析器,它可以替换现有的MSXML DOM解析器。基本上,我的代码应该返回子节点的列表、子节点的数量等。这可以通过使用属性树来实现吗?例如,GetfirstChild()、selectNodes()、Getlength()等


我看到了很多与Boost属性树相关的API,但文档似乎是赤裸裸的,而且令人困惑。到目前为止,我能够使用BOOST_FOREACH解析整个XML。但是每个节点的路径都是硬编码的,这不符合我的目的

boost::property_tree可用于解析XML,它是一个树,因此可以用作XML DOM替换,但该库并不打算成为成熟的XML解析器,也不抱怨XML标准。例如,它可以成功解析非良好格式的xml输入,并且不支持某些xml特性。因此,这是您的选择—如果您想要简单的XML配置接口,那么是的,您应该使用boost::property_tree来解析XML,它是一个树,因此您可以使用它作为XML DOM替代,但该库不是为了成为一个完全成熟的XML解析器,它不抱怨XML标准。例如,它可以成功解析非良好格式的xml输入,并且不支持某些xml特性。所以这是您的选择——如果您想要简单的XML配置接口,那么是的,您应该使用boost::property_tree