我想使用这个XPath表达式
/moviedb/movie/title[@lang="english"] | /moviedb/movie/title[@lang="english"]/..runtime
我想过滤掉标题及其运行时属性为“english”的电影,但我不知道如果我在/ moviedb / movie / title后又回到/ moviedb / movie 完整的XML文件:
<moviedb>
<movie>
<imdbid>tt0838283</imdbid>
<genres>Comedy</genres>
<languages>English,Spanish</languages>
<country>USA</country>
<rating>6.8</rating>
<runtime>106</runtime>
<title lang="spanish">Step Brothers</title>
<year>2008</year>
</movie>
<movie>
<imdbid>tt2886734</imdbid>
<genres>Drama</genres>
<languages>English</languages>
<country>USA</country>
<rating>7.5</rating>
<runtime>125</runtime>
<title lang="english">A Life, Taken</title>
<year>2014</year>
</movie>
</moviedb>
感谢
答案 0 :(得分:3)
你可以这样做:
/moviedb/movie[./title/@lang="english"]/runtime
演示(使用xmllint
):
$ xmllint input.xml --xpath '/moviedb/movie[./title/@lang="english"]/runtime'
<runtime>125</runtime>