我有一个xml文档,其中包含这样的部分。
<div id="Test_topic" ><a href="<link>">Test Spec</a>
我想构建一个xpath来查找第二个元素<MultiplyFunction>
<Name>HeightModel</Name>
<LinearInterpolationFunction>
<Name>WaterStress</Name>
</LinearInterpolationFunction>
</MultiplyFunction>
<MultiplyFunction>
<Name>ExtinctionCoeff</Name>
<LinearInterpolationFunction>
<Name>WaterStress</Name>
</LinearInterpolationFunction>
</MultiplyFunction>
。此元素的唯一关键字为<Name>WaterStress</Name>
和ExtinctionCoeff
。
我当前的xpath是WaterStress
,它可以找到这两个元素。如何通过添加关键字//Name[text()="WaterStress"]
来指定第二个?
答案 0 :(得分:1)
我认为以下内容对你有用......
//Name[text()="WaterStress" and ../preceding-sibling::Name='ExtinctionCoeff']
答案 1 :(得分:1)
尝试以下表达式。 // MultiplyFunction [((descendant :: LinearInterpolationFunction / Name [text()=&#34; WaterStress&#34;])和(descendant :: Name [text()=&#34; ExtinctionCoeff&#34;]))]
它将返回匹配的标记。
答案 2 :(得分:1)
以下是其他一些选项
//MultiplyFunction[2]/LinearInterpolationFunction/Name
//MultiplyFunction[2]//Name[text()="WaterStress"]
//Name[text()="ExtinctionCoeff"]/following-sibling::LinearInterpolationFunction/Name
//Name[text()="ExtinctionCoeff"]/../Name
答案 3 :(得分:1)
此Xpath找到名为ExtinctionCoeff的firat MultiplyFunction,然后找到带有Bane WaterStress的内部LinearInterpolationFunction。我将Xpath拆分为2行以便于阅读
//MultiplyFunction[Name="ExtinctionCoeff"]
/LinearInterpolationFunction/Name[text()="WaterStress"]