8

次のxmlファイルでxpathクエリを作成しようとしています:

<recordGroup>
    <records>
        <year>1985</year>   
        <album>
            <name> album1 </name>
            <artist>artist1 </artist>
            <label> labelA</label>
        </album>    
        <album>
            <name>album2 </name>
            <artist>artist2 </artist>
            <label> labelB</label>
        </album>    
    </records>      
    <records>
        <year>1986</year>   
        <album>
            <name>album3 </name>
            <artist> artist1 </artist>
            <label>labelC</label>
        </album>    
        <album>
            <name>album4 </name>
            <artist>artist2</artist>
            <label> labelA</label>
        </album>    
    </records>

</recordGroup>

次のクエリを取得したい: ラベル = 'LabelA' のすべてのレコード (アーティスト、名前、年) を選択します。

XML 構造はこのデータを表示するのに適していない可能性がありますが、別のソフトウェアからこのストリームを取得しているため、変更できません。

助言がありますか?

4

2 に答える 2

11

これにより、 labelArecordsのラベルが付いたアルバムを含むフルが返されます

//records[album/label='labelA']

使用することもできます

//records[album/label='labelA']/*[self::year or self::album[label='labelA']]

labelAに一致するyearと fullのみを返しますalbum

于 2012-12-26T16:26:31.483 に答える
0

これを試して:

var = doc(/recordGroup/records[アルバム[@label="LabelA"]]);

于 2012-12-26T16:14:26.550 に答える