0

完全に機能するC++でpugixmlを使用しています。ただし、次のような構造から特定の子を選択できるようにしたいと考えています。

<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 を見てみましたが、目的に合わないようです。

4

1 に答える 1

1

そのためには XPath を使用する必要があります。

doc.select_node("utcTimeOffsetInfo/UtcTimeOffsetDefinition[utcTimeOffsetCode=2]/utcTimeOffset")

(注: select_node は、pugixml 1.5 以降で使用できる select_single_node の省略形です)

于 2014-12-09T16:12:11.207 に答える