Подтвердить что ты не робот

Как атрибуты анализируются в Boost.PropertyTree?

Скажем, у меня есть этот формат XML:

<Widget type="SomeWidget" name="foo">
   <Event name="onmouseover">
      dostuff();
   </Event>
</Widget>

Как читать атрибуты с помощью Boost.PropertyTree?

4b9b3361

Ответ 1

Если ваша проблема заключается в получении атрибутов:

Атрибуты XML-элемента: хранится в подразделе. Там - один дочерний node за атрибут в атрибут node. Существование  node не гарантируется или необходимо, когда нет атрибуты.

Из документа http://www.boost.org/doc/libs/1_44_0/doc/html/boost_propertytree/parsers.html#boost_propertytree.parsers.xml_parser

Так что просто получите их из тега xmlattr.

Ответ 2

Если xml имеет такое содержимое:

<mode fullscreen="true">mode xxx</mode>

Использовать boost:: property code:

get<string>("mode.<xmlattr>.fullscreen") 

О да, это уродливо!