所以我正试图解决这个问题:“找到沉没的船只的名字”
和“查找所有正在战斗中的船只的名称”
但我遇到了一些问题。
我有这个XML文档:
<Ships>
<Class name="Kongo" type="be" country="Japan" numGuns="8" bore="14" displacement="32000">
<Ship name="Kongo" launched="1913"/>
<Ship name="Hiei" launched="1914"/>
<Ship name="Kirishima" launched="1915">
<Battle outcome="sunk">Guadalcanal</Battle>
</Ship>
<Ship name="Haruna" launched="1915"/>
</Class>
并且“找到沉没的船只的名字” 我试试:
Ships/Class/Ship/Battle[@outcome = 'sunk']
并获得:
<Battle outcome="sunk">Guadalcanal</Battle>
<Battle outcome="sunk">Malaya</Battle>
但这不是正确的结果,是吗?在选择战斗结果或选择战斗中的船只时,我不知道如何选择船名。我该怎么做?
答案 0 :(得分:1)
尝试这种方式来获取“沉没的船只”:
Ships/Class/Ship[Battle/@outcome = 'sunk']
将要选择的元素选为路径中的最后一个元素,并在方括号内为该元素制定条件。
或者通过这种方式获得船名:
Ships/Class/Ship[Battle/@outcome = 'sunk']/@name
要获取具有子<Ship>
的所有<Battle>
元素,请选择该船的名称,简而言之“查找所有正在战斗中的船只的名称”:< / p>
Ships/Class/Ship[Battle]/@name