我正在学习考试,但我无法弄清楚我在这里做错了什么。
我得到了这个xml
<?xml version="1.0"?>
<schema xmlns=""
xmlns:xsi="link-2"
xsi:schemeLocation="link-3">
<wm-stats>
<wm jahr="2014">
<teilnehmer platz="1">Deutschland</teilnehmer>
<teilnehmer platz="2">Argentinien</teilnehmer>
<teilnehmer platz="3">Niederlande</teilnehmer>
</wm>
<wm jahr="2010">
<teilnehmer platz="1">Spanien</teilnehmer>
<teilnehmer platz="2">Holland</teilnehmer>
<teilnehmer platz="3">Deutschland</teilnehmer>
</wm>
<wm jahr="2006">
<teilnehmer platz="1">Italien</teilnehmer>
<teilnehmer platz="2">Frankreich</teilnehmer>
<teilnehmer platz="3">Deutschland</teilnehmer>
</wm>
<record name="Rekordtorschütze">
<person> Miroslav Klose </person> hat in Brasilien ...
</record>
<record name="Rekordweltmeisterschaften">
<ort> Brasilien </ort> ist mit 5 Weltmeistersiegen ...
</record>
</wm-stats>
</schema>
我现在需要找到荷兰参加锦标赛的所有年份,我知道我必须寻找这样的东西// wm [@jahr] / teilnehmer [text()=&#34; Holland& #34;] 但是我现在如何获得jahr的价值呢?要找到的正确节点是jahr 2010.
答案 0 :(得分:1)
相反的方式
//wm[teilnehmer = "Holland"]/@jahr
但是你的方法并非无法实现,
//wm[@jahr]/teilnehmer[. ="Holland"]/../@jahr
*请注意[@jahr]
在此表达式中实际上是多余的
您始终可以在XPath中向上(和横向)导航。
查看此综合图像,解释可用于导航的各种XPath轴:https://our.umbraco.org/wiki/reference/xslt/xpath-axes-and-their-shortcuts/