我需要从XML表中获取一个值,该值依赖于其名称,该表具有不同的父节点。在下面的示例中,让我们说我想提取" b"的值,即2.如何使用XML结构动态获取基于其名称的值,如下所示只有XPaths?我无法控制传入XML的格式,而且我阅读它的功能有限,这就是为什么我想在可能的情况下坚持使用XPath。
<Data>
<Names>
<Name>a</Name>
<Name>b</Name>
<Name>c</Name>
<Name>d</Name>
</Names>
<Values>
<Value>1</Value>
<Value>2</Value>
<Value>3</Value>
<Value>4</Value>
</Values>
</Data>
答案 0 :(得分:1)
找到所需的节点Name
,在之前计算节点Name
并在同一位置获取Value
/Data/Values/Value[position() = count(/Data/Names/Name[.="b"]/preceding-sibling::Name)+1]