使用 JDOM 解析 xml 文件时出现此错误。
正在发生的事情是,我收到一个数据流,它是一个 xml 与一个 pdf 结合作为其中的附件。因此,当我尝试创建它的文档时,会引发此错误。
我试图打印这个流,在控制台上我得到以下信息,它有很多垃圾字符(pdf内容),但在写字板中它看起来像 -
------=_Part_2_23286828.1296553488632
Content-Type: text/xml; charset=utf-8
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
....
....
....
<Attachment>
<URI>Filename.pdf</URI>
</Attachment>
</SOAP-ENV:Envelope>
------=_Part_2_23286828.1296553488632
Content-Type: application/pdf; name="Filename.pdf"
Content-Transfer-Encoding: binary
Content-ID: </Attachment[1]/URI[1]>
Content-Disposition: attachment; filename="Filename.pdf"
%PDF-1.4
%âãÏÓ
4 0 obj <</Type/XObject/ColorSpace/DeviceRGB/Subtype/Image/BitsPerComponent 8/Width 579/Length 52722/Height 480/Filter/DCTDecode>>stream
ÿØÿà
请注意<SOAP-ENV:Envelope>
和之间的 xml</SOAP-ENV:Envelope>
格式正确。
我怎么能用它创建一个 JDOM 文档呢?我想,通过删除 xml 开始/结束标签之前和之后的内容,但如何以一种干净的方式?
我读到 Apache IO Commons 的 BOMInputStream 很有帮助,但我相信它在版本 2.* 中,我使用的是版本 1.3.1
我希望这能解释我的问题,如果不是,请告诉我。
谢谢你。
UPDATE
一开始我没想到会这么麻烦。
实际上,我正在使用 HttpURLConnection 从一个 servlet 调用另一个(doPost)。返回是这种流的形式。
现在,我也在尝试探索是否可以使用 Http/URLConnection 提供的一些方法来提取 xml 部分。
感谢是否有人可以对此有所了解。