2017-10-06 109 views
1

我剛接觸Web服務響應處理技術。我有下面的肥皂響應, 我想從中獲取UID值。XML元素中的文本的XPath?

<Envelope xmlns:SOAP-ENV = "" SOAP-ENV:encodingStyle = ""> 
    <Body xmlns:m = ""> 
    <CreateUser> 
    <m:status>SUCCESS</m:status> 
    <m:code>1</m:code> 
    <m:uid>1234t</m:uid> 
    </CreateUser> 
    </Body> 
</Envelope> 

我想這個XPath遍歷:

/Envelope/Body/CreateUser/m:uid 

這將產生:

<m:uid>1234t</m:uid> 

我只需要1234t

+1

是不是你實際得到你想要的?請澄清你的問題。 –

+0

@AlexeyR:選擇一個元素與獲取該元素(或其子文本節點)的字符串值的區別。 [見下文](https://stackoverflow.com/a/46612492/290085)。 – kjhughes

回答

1

如果

/Envelope/Body/CreateUser/m:uid 

產生

<m:uid>1234t</m:uid> 

然後

/Envelope/Body/CreateUser/m:uid/text() 

將產生

1234t 

根據要求。

+0

感謝您的回覆。按照建議嘗試,它返回空白值。 – user0812

+0

然後或者是'/ Envelope/Body/CreateUser/m:uid'沒有返回' 1234t',或者您不正確地調用您的XPath庫(我們不能對此進行評論,因爲您沒有顯示它)。 – kjhughes