2016-11-16 9 views
0

内のXMLを解析する そのXPathの結果は、こののXPath私は// * [ローカル名()= 'someparentnode']のXPathを用いて解析することができWSを照会WS 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 > 
ようなXMLを取得します

私はSOMEDATA3の値を必要とするが、私は// * [ローカル名()=「someparentnode」] /レスポンス/ ResponseOK/SOMEDATA3をやってみたとき、私は、私は何が起こっているのか分からない、何も

を取得していません。私の仕事のためにこれが必要なので、どんな助けや情報も本当に感謝しています。

いつか他人を助けるために行く人に感謝します!

答えて

0

接頭辞を持たない子孫要素は、祖先からのデフォルト名前空間を暗黙的に継承することに注意してください。 =)

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

だから、これは// * [ローカル名になります(:これは、与えられたXMLで、すべての要素は、「SOMETHING」名前空間にあるので、あなたのXPathの各要素に対してlocal-name()を使用する必要があり、意味します/ * [ローカル名()= 'SOMEDATA3']/* [ローカル名()= 'レスポンス']/* [ローカル名()= 'ResponseOK'] –

+0

xpathが結果を取得しなかったと言わなければなりません:/ –

+0

投稿されたXMLにこのような要素がないので、おそらく '* [local-name()= 'someparentnode']'部分がありません。 – har07

関連する問題