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

这将带回records包含标签为labelA的专辑的完整内容

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

你也可以使用

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

将仅返回与labelA匹配的year完整内容album

于 2012-12-26T16:26:31.483 回答
0

试试这个:

var = doc(/recordGroup/records[album[@label="LabelA"]]);

于 2012-12-26T16:14:26.550 回答