我使用pugixml与C ++完美配合。 但是,我希望能够从这样的结构中选择一个特定的孩子:
<utcTimeOffsetInfo>
<UtcTimeOffsetDefinition>
<utcTimeOffsetCode>1</utcTimeOffsetCode>
<utcTimeOffset>+0100</utcTimeOffset>
</UtcTimeOffsetDefinition>
<UtcTimeOffsetDefinition>
<utcTimeOffsetCode>2</utcTimeOffsetCode>
<utcTimeOffset>+0200</utcTimeOffset>
</UtcTimeOffsetDefinition>
<UtcTimeOffsetDefinition>
<utcTimeOffsetCode>3</utcTimeOffsetCode>
...
如果我想获得+0200的值,那么能够做类似的事情会很好:
...child("utcTimeOffsetInfo").child("UtcTimeOffsetDefinition").child_value[utcTimeOffsetCode=2]("utcTimeOffset")
我看过find_child_by_attribute,但它似乎不符合目的。
答案 0 :(得分:1)
你应该使用XPath。
doc.select_node("utcTimeOffsetInfo/UtcTimeOffsetDefinition[utcTimeOffsetCode=2]/utcTimeOffset")
(注意:select_node是select_single_node的简写,自pugixml 1.5起可用)