2011-04-25 65 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

回答