2011-04-25 64 views
1


我有一個服務器,這是一個XML(接收/存儲在字符串)的以下響應。如何在xml java中獲取元素的值?

<s:Envelope xml:s='http://sada.soap.org/soap/env/'> 
    <Body> 
     <GetResponse xml='http://www.hotmail.msn.com/'> 
      <GetResult> 
       X-Originating-IP: [207.46.124.17]X-Originating-Email:X-OriginalArrivalTime: 22 Apr 2011 10:47:04.3513 (UTC) FILETIME=[9E2CE208:01CC00DA]Date: 22 Apr 2011 03:47:04 -0700 X-OIM-Sequence-Num: 2458621X-MSGR SDGML:TWVzcQo=UmFrZXN 
      </GetResult> 
     </GetResponse> 
    </Body> 
</s:Envelope> 

現在,我想。我的屬性在上面的猜測,這些屬性將 X-原產-IP,-Originating電子郵件,X-OIM-序列民。
我嘗試過使用DocumentBuilderFactory,但我無法獲得屬性值。可以有人幫我解決這個問題。

+0

如果這就是web服務的回報,這將是一個PITA解析,因爲它沒有結構。要明確的是,GetResult標籤之間的文本是文本,而不是「xml」,因此您將無法使用DOM來提取X-Originating值。你需要首先得到GetResult裏面的內容,然後手動解析這個可怕的行(使用正則表達式或任何你想要的) – Augusto 2011-04-25 09:20:09

+0

沒錯,這就是我想要得到的。我完全理解你的觀點。我無法獲得該字符串值在標記內。 – kiddo 2011-04-25 09:26:18

+0

我強烈懷疑您顯示爲「xml」和「xml:s」的屬性實際上是「xmlns」和「xmlns:s」。否則,Web服務的設計就有些問題。 – 2011-04-25 14:23:53

回答