如何在Boost.PropertyTree中解析属性?

the*_*row 20 c++ boost boost-propertytree

说我有这种XML格式:

<Widget type="SomeWidget" name="foo">
   <Event name="onmouseover">
      dostuff();
   </Event>
</Widget>
Run Code Online (Sandbox Code Playgroud)

如何使用Boost.PropertyTree读取属性?

小智 55

如果xml有这样的内容:

<mode fullscreen="true">mode xxx</mode>
Run Code Online (Sandbox Code Playgroud)

使用boost :: property代码:

get<string>("mode.<xmlattr>.fullscreen") 
Run Code Online (Sandbox Code Playgroud)

哦是的,这太丑了!


Kla*_*aim 10

如果您的问题是获取属性:

XML元素的属性存储在子项中.属性节点中的每个属性都有一个子节点.当没有属性时,不保证或不需要节点的存在.

来自http://www.boost.org/doc/libs/1_44_0/doc/html/boost_propertytree/parsers.html#boost_propertytree.parsers.xml_parser的文档

所以只需从xmlattr标签中获取它们.