gpt4 book ai didi

java - Xmlpull Java,解析互联网上的xml文件

转载 作者:行者123 更新时间:2023-12-01 14:26:03 27 4
gpt4 key购买 nike

我正在测试Xmlpull,我实际上已经在我的计算机上本地解析了xml。现在,我想解析互联网上的一个XML文件,该文件是:

http://api.androidhive.info/pizza/?format=xml

但我找不到将数据流式传输到 XmlPullParser 对象的方法,请给我一些有关如何解决此问题的一般指南?

我想到的另一种方法是通过 java io 下载 xml 文件,然后在本地解析该文件,但这并不是我想要实现的目标。我想直接在互联网上解析 xml 文件,而不在本地存储副本。

无论如何,请告诉我最佳实践。

谢谢,希望一切都清楚

最佳答案

想必您的意图是使用 Android API 来实现此目的,因此请根据情况进行翻译。

在普通 Java 中,有用于 StAX 解析的 XmlStreamReader,并且可以使用 URLConnection 中的 InputStream 实例化它,如下所示:

import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;

import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamConstants;
import javax.xml.stream.XMLStreamReader;

public class ParseStream {

public static void main(String[] args) throws Exception {
URLConnection connection =
new URL("http://api.androidhive.info/pizza/?format=xml").openConnection();
InputStream inputStream = connection.getInputStream();
XMLStreamReader streamReader =
XMLInputFactory.newInstance().createXMLStreamReader(inputStream, "UTF-8");
while (streamReader.hasNext())
if (streamReader.next() == XMLStreamConstants.START_ELEMENT)
System.out.println("START_ELEMENT " + streamReader.getName());
}
}

事实上,我会对其进行一些改进,例如从 URLConnection 中获取编码,而不是使用固定编码。

但它应该给出想法。

关于java - Xmlpull Java,解析互联网上的xml文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17166407/

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