c++实现Xml递归版本解析

 70	void BackElement(TiXmlElement* RootElement){
 71    for(TiXmlElement* StuElement = RootElement->FirstChildElement();StuElement != 			     NULL; StuElement = StuElement->NextSiblingElement()){
 72         cout << StuElement->Value() << ": ";
 73         TiXmlElement* TmpElement = StuElement;
 74         if( NULL != TmpElement->Value()){
 75             TiXmlAttribute* pAttr = TmpElement->FirstAttribute();//第一个元素属性
 76             while(NULL != pAttr){
 77                 cout << pAttr->Name() << "=" << pAttr->Value() << ";";
 78                 pAttr = pAttr->Next();
 79             }
 80             cout << endl;
 81             if(NULL != TmpElement->FirstChild())//是否有孩子元素
 82                 BackElement(TmpElement);
 83         }
 84     }
 85 }
 86 
 87 
 88 //解析xml文件
 89 int ReadXmlFile()
 90 {
 91     TiXmlDocument mydoc("log.xml");//等待被解析的xml文档
 92     bool loadOk = mydoc.LoadFile();//加载xml文档
 93     if(!loadOk){
 94         cout<< "could not load the test file.Error:" << mydoc.ErrorDesc() <<endl;
 95         exit(1);
 96         }
 97     TiXmlElement *RootElement = mydoc.RootElement();//根元素
 98     cout << RootElement->Value() << ": " <<"\n";//元素名
 99     BackElement(RootElement);
100     return 1;
101 }
102 
103 int main(int argc, char* argv[])
104 {
105    //读操作 
106    ReadXmlFile();
107    return 0;
108 }

以上代码可以实现对XML文件递归的解析输出,如果引用请标明来处,记得点咱加关注哦!~

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值