我正在将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,但这似乎不符合目的。
最佳答案
您应该为此使用XPath。
doc.select_node("utcTimeOffsetInfo/UtcTimeOffsetDefinition[utcTimeOffsetCode=2]/utcTimeOffset")
(注意:select_node是select_single_node的缩写,从pugixml 1.5开始可用)
关于c++ - pugixml,根据其他子项的值选择特定子项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27376851/