gpt4 book ai didi

java - 由于 XML 文件中存在空格而解析提要时出错

转载 作者:太空宇宙 更新时间:2023-11-04 11:23:59 25 4
gpt4 key购买 nike

在我的应用程序的一部分中,我使用此代码来读取 RSS 提要:

        DocumentBuilder builder = factory.newDocumentBuilder();
Document dom = builder.parse(this.url.openConnection().getInputStream());
Element root = dom.getDocumentElement();
NodeList items = root.getElementsByTagName("item");
for (int i=0;i<items.getLength();i++){...

问题是我想要阅读的提要之一在 <?xml 之前以空格开头。就这样

 <?xml version="1.0" encoding="utf-8"?>
<!-- generator="Joomla! - Open Source Content Management" -->
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">

当我的应用尝试读取此提要时,会抛出以下错误:

org.xml.sax.SAXParseException: processing instructions must not start with xml (position:unknown @1:2 in java.io.InputStreamReader@605667c)

现在我的疑问是:如何避免这个错误?

谢谢。

最佳答案

如果您确定响应的结构,您可以使用InputStream的skip()方法。找到下面的代码 fragment 。

Document dom = builder.parse(this.url.openConnection().getInputStream().skip(1));
Element root = dom.getDocumentElement();

否则将输入流转换为字符串。您可以使用 Apache IOUtils。处理字符串,然后解析 xml。

关于java - 由于 XML 文件中存在空格而解析提要时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44569144/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com