找不到找到xpath

时间:2016-04-20 06:29:46

标签: xml selenium xpath

我无法从下面的xml中找到文本的xpath。我需要为analyzeId获取文本“ABCD”。

<ns1:Results>
<ns1:Type>string</ns1:Type>
<ns1:Key>resolution</ns1:Key>
<ns1:SimpleValue><![CDATA[<ResultAnalysisList priority="0000" analysisId="ABCD" displayName=" ">
<Group id=""
|
|
</ns1:Results>

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:0)

这不能使用纯XPath v1.0(硒支持的版本,如果我没记错的话)完成。

未解析CDATA内的文本。它被视为纯文本。因此,在XPath处理器的观点中,没有可以使用CDATA中的XPath访问的元素或属性。

相关:Xpath to the tag inside CDATA

如果CDATA部分包含格式良好的XML,您可以先尝试使用XPath获取整个CDATA内容,然后将其作为单独的XML传递给XPath处理器(2步解析)。

仅供参考,XPath 3.0具有parse-xml()功能,可以用于此目的,就像这一行:

//ns1:SimpleValue/parse-xml(.)/ResultAnalysisList/@analysisId

xpath 3.0 demo:http://xpatheval.apphb.com/y6Ln4drA4

答案 1 :(得分:0)

肮脏的黑客:

substring-before(substring-after(//ns1:SimpleValue,'analysisId="'),'"')