用于c++; 我使用Boost C++库的一种新方法,它想用它解析XML文档,但是我很难弄清楚逻辑。p> <?xml version="1.0"?> <GCC_XML version="0.9.0" cvs_revision="1.140"> <Function id="_6" name="A" returns="_12" context="_1" location="f1:1" file="f1" line="1" mangled="_Z1Aif"> <Argument name="a" type="_12" location="f1:1" file="f1" line="1"/> <Argument name="c" type="_13" location="f1:1" file="f1" line="1"/> </Function> <Function id="_7" name="B" returns="_14" context="_1" location="f1:7" file="f1" line="7" mangled="_Z1Bf"> <Argument name="d" type="_13" location="f1:7" file="f1" line="7"/> </Function> </GCC_XML>

用于c++; 我使用Boost C++库的一种新方法,它想用它解析XML文档,但是我很难弄清楚逻辑。p> <?xml version="1.0"?> <GCC_XML version="0.9.0" cvs_revision="1.140"> <Function id="_6" name="A" returns="_12" context="_1" location="f1:1" file="f1" line="1" mangled="_Z1Aif"> <Argument name="a" type="_12" location="f1:1" file="f1" line="1"/> <Argument name="c" type="_13" location="f1:1" file="f1" line="1"/> </Function> <Function id="_7" name="B" returns="_14" context="_1" location="f1:7" file="f1" line="7" mangled="_Z1Bf"> <Argument name="d" type="_13" location="f1:7" file="f1" line="7"/> </Function> </GCC_XML>,c++,xml,boost,C++,Xml,Boost,如果我想为每个函数标记访问参数标记,我应该如何操作?我能够访问功能标签,如下所示 BOOST_FOREACH( ptree::value_type const& v, pt.get_child("GCC_XML") ) { if(v.first == "Function") { cout << "Function name : " << v.second.get_child("<xmlattr>.name")

如果我想为每个函数标记访问参数标记,我应该如何操作?我能够访问功能标签,如下所示

    BOOST_FOREACH( ptree::value_type const& v, pt.get_child("GCC_XML") ) {
        if(v.first == "Function") {
          cout << "Function name : " << v.second.get_child("<xmlattr>.name").data() << endl;
          cout << "Function return type : " << v.second.get_child("<xmlattr>.returns").data() << endl;
}
BOOST\u FOREACH(ptree::value\u type const&v,pt.get\u child(“GCC\u XML”)){
如果(v.first==“函数”){

coutBoost没有XML库。它有一个属性树库

顺便说一句,你也要做同样的事情:

BOOST_FOREACH( ptree::value_type const& a, v ) {
    if(a.first == "Argument") {
      cout << "Argument name : " << a.second.get_child("<xmlattr>.name").data() << endl;
      cout << "Argument type : " << a.second.get_child("<xmlattr>.type").data() << endl;
    }
}
BOOST\u FOREACH(ptree::value\u type const&a,v){
如果(a.first==“参数”){

非常感谢你的帮助。