BOOST库中Property Tree解析属性值

原文学习: http://blog.csdn.net/mosaic/article/details/6888934


事实上,我觉得这种方法有点秀气了。通过测试,普通Element中的TEXT是直接利用树形结构到子节点即可完成读取。在链接中的文章中提到<xmlattr>.type。由此判断Element中的属性上级节点为<xmlattr>。测试后可以看到确实是这样的结果:

<VCMergeModule Name="Visual C++ Debug MFC Runtime Libraries" Path="$(CommonProgramFiles)\Merge Modules\Microsoft_VC100_DebugMFC_x86.msm" Architecture="x86">
 <File Name="mfc100d.dll"/>
 <File Name="mfc100ud.dll"/>
 <File Name="mfcm100d.dll"/>
 <File Name="mfcm100ud.dll"/>
 <File Name="mfcmifc80d.dll"/>
 </VCMergeModule>

例如上面的VCMergeModule中的属性信息可以通过下面代码实现:

ptree pt;
string strModuleName;
string strModulePath;

read_xml("test.xml", pt);

strModuleName = pt.get<string>("VCMergeModule.<xmlattr>.Name");
strModulePath = pt.get<string>("VCMergeModule.<xmlattr>.Path");

其他属性同理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值