如何解析带有jsoup前缀的SOAP XML?

时间:2018-05-09 11:04:39

标签: java xml parsing soap jsoup

这是一个示例XML。

<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>
<env:Header/>
<env:Body>
    <ns0:NotifyRequest xmlns:ns3='http://dummyurl.com'>
        <PartTotal>10</PartTotal>
        <PartNo>2</PartNo>
    </ns0:NotifyRequest>
</env:Body>

我的服务器接受这些请求,这是通过Jsoup解析的。我按标签获取元素&#34; ns0:NotifyRequest&#34;然后寻找子元素。

我的问题是;当前缀改变时,我的解析器失败,因为元素标记&#34; ns0:NotifyRequest&#34;写入是硬编码的,当收到的XML类似于&#34; ns3:NotifyRequest&#34;时会出错。

有没有办法忽略这个前缀并获取NotifyRequest元素?我知道我可以不直接从他们的第一级上部元素获得内部元素。 (我的意思是我可以使用BodyElement.getElementsByTag(&#34; PartTotal&#34;)而不是NotifyRequestElement.getElementsByTag(&#34; PartTotal&#34;),他们做同样的工作)但我想使用正则表达式或其他东西忽略该随机前缀并获取NotifyRequest元素。

0 个答案:

没有答案