我有一个包含多个<MT>
元素的XML,如下面的
<GSP>
<RES>
<R>
<MT N="Authors" V="McKee, D.W.; General Electric Co., Schenectady, NY (USA). Corporate Research and Development Dept"/>
<MT N="English-Title" V="Advanced gas-cooled nuclear reactor materials evaluation and development program: corrosion behavior of experimental alloys in controlled-purity helium at temperatures in the 750 to 1050<sup>0</sup>C range"/>
<MT N="Title" V="Ni-20Cr + Al, Ti, Si, Nb and/or Y"/>
</R>
</RES>
</GSP>
我想在@N='Title'
之后立即检查是否有@N='English-Title'
元素。我不想将<MT>
元素与@N='Title'
一起使用,如果它出现在其他任何地方。
如何实现?
答案 0 :(得分:2)
这个XPath表达式:
//MT[@N='Title'][preceding-sibling::MT[1][@N='English-Title']]
将选择这些节点。它在所有 MT
元素中选择具有N
属性且内容为“Title”的元素,前面的MT
兄弟包含{{1}的元素}属性,内容为“英文标题”。
您可以在接受绝对XPath表达式的XSLT属性中使用它,并将其打印到结果树中,将其保存在变量中等。