我想找到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)
脱掉#符号对我来说不好看.
任何提示?
因为您没有提供完整的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)