XPath在WS xml响应中解析xml

时间:2016-11-16 22:42:18

标签: xml xpath

我查询了一个我可以用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时我什么都没得到

我不知道发生了什么。任何帮助或信息都非常受欢迎,因为我需要这些工作

提前感谢那些需要一段时间帮助他人的人!

1 个答案:

答案 0 :(得分:0)

请注意,没有前缀的后代元素隐式地从祖先继承默认命名空间。这意味着,在给定的XML中,所有元素都在命名空间中,因此您需要对XPath中的每个元素使用local-name()

//*[local-name()='someparentnode']
 /*[local-name()='Response']
 /*[local-name()='ResponseOK']
 /*[local-name()='SOMEDATA3']