我查询了一个我可以用XPath解析的WS // * [local-name()=' someparentnode'] 该xpath的结果检索xml,如此
<?xml version="1.0" encoding="ISO-8859-1"?>
<Response xmlns="SOMETHING">
<SOMEDATA>OK</SOMEDATA>
<SOMEDATA1>110075700011</SOMEDATA1>
<ResponseOK>
<SOMEDATA3>123123</SOMEDATA3>
<SOMEDATA4>asda</SOMEDATA4>
</ResponseOK>
</Response >
我需要SOMEDATA3的值但是当我尝试做// * [local-name()=&#39; someparentnode&#39;] / Response / ResponseOK / SOMEDATA3时我什么都没得到
我不知道发生了什么。任何帮助或信息都非常受欢迎,因为我需要这些工作
提前感谢那些需要一段时间帮助他人的人!
答案 0 :(得分:0)
请注意,没有前缀的后代元素隐式地从祖先继承默认命名空间。这意味着,在给定的XML中,所有元素都在命名空间中,因此您需要对XPath中的每个元素使用local-name()
:
//*[local-name()='someparentnode']
/*[local-name()='Response']
/*[local-name()='ResponseOK']
/*[local-name()='SOMEDATA3']