2015-06-03 152 views
0

我是XPath的noob,我有一個問題:如何以特定名稱在所有分支中搜索子節點並在XML文件中顯示信息?按子節點內容搜索XML中的子節點

<?xml version="1.0" encoding="UTF-8"?> 
<movie><?xml version="1.0" encoding="UTF-8"?> 
<movie> 
    <film> 
    <name>Peaceful Warrior</name> 
    <actor>Scott Mechlowicz</actor> 
    </film> 
    <film> 
    <name>Gone</name> 
    <actor>Scott Mechlowicz</actor> 
    </film> 
    <film> 
    <name>Gladiator</name> 
    <actor>Russel Crowe</actor> 
    </film> 
</movie> 

我想:

//*[ancestor::movie/film[name = "Scott Mechlowicz"]] 

但是這顯示了所有的信息,當我的本意是要表明在那個演員只參加電影。

這是可能的XPath或必須使用getNameByTagNameNodeList

回答

2

您可以使用XPath。如果你只是想獲得的電影名稱的列表,試試這個XPath的(獲得的電影名稱,其中的演員=「斯科特麥克洛維茨」)

//film[actor = "Scott Mechlowicz"]/name 

/movie/film[actor = "Scott Mechlowicz"]/name