Xpath:从id属性到id锚点的匹配中查找元素值

DAg*_*DAg 7 xpath

我想找到id属性上匹配的元素的值,我只有ref - 带#的位,即锚.

我正在寻找partyId的价值:

 < party id="partyA" >
   < partyId >THEID< /partyId >
Run Code Online (Sandbox Code Playgroud)

但到了那里我只有以下的href

  < MyData >
    < MyReference href="#partyA" />
Run Code Online (Sandbox Code Playgroud)

脱掉#符号对我来说不好看.

任何提示?

Dim*_*hev 5

因为您没有提供完整的XML文档,所以我必须使用//-我强烈建议避免这种做法。

假设

$vDataRef

被定义为

//MyData/MyReference/@href

并且它的字符串值为"#partyA"则选择所需节点的一种可能的XPath表达式是

//party[@id=substring($vDataRef,2)]
Run Code Online (Sandbox Code Playgroud)

如果XML文档具有DTD,其中的id属性party定义为type ID,则使用标准XPath函数会更加方便和有效id()

id(substring($vDataRef,2))
Run Code Online (Sandbox Code Playgroud)