【发布时间】:2016-05-30 09:20:58
【问题描述】:
我执行 XSLT 转换并在模板中使用 XPATH 从 XML 中获取信息,此时,没有什么特别的,但是:
当我浏览“firstEngine”元素和浏览“Engine”时,我尝试获取节点“Aircraft”的 id " 元素(而不是 "engines" 元素)。 我搜索 XPATH 表达式以获取第一个父元素的“id”,其中“xsi:type”的值为“Jet”不管他父母的水平如何。
我尝试了这个表达式但没有成功:
../Aircraft[xsi:type="Jet"]/@id
<Aircraft xsi:type="Jet" id="4">
<MTOW>0</MTOW>
<firstEngine>
<nbFans>2</nbFans>
<name>turbofanengine</name>
</firstEngine>
<engines>
<Engine>
<nbFans>2</nbFans>
<name>turbofanengine</name>
</Engine>
</engines>
<name>jet</name>
</Aircraft>
编辑:#michael.hor257k 你的表达效果很好,我使用 Editix 来测试 xpath 表达式,它似乎有问题,我必须重新启动 editix 才能使其工作。 谢谢你!
【问题讨论】:
-
"不管他的父节点的级别。" 父节点的级别总是比当前节点高一级。也许你的意思是祖先?