Xmlpull Java,解析internet上的xml文件

Xmlpull Java,解析internet上的xml文件,java,xml,parsing,xmlpullparser,Java,Xml,Parsing,Xmlpullparser,我正在测试Xmlpull,实际上我已经在我的计算机上本地解析了xml。 现在,我想在internet上解析一个XML文件,该文件是: 但是我找不到将数据流传输到XmlPullParser对象的方法,请给我一些关于如何解决这个问题的一般性指导 我认为另一种方法是通过JavaIO下载xml文件,然后在本地解析该文件,但这并不是我想要实现的。我希望直接在internet上解析xml文件,而不在本地存储副本 无论如何,请告诉我最好的做法 谢谢,希望一切都清楚您的目的大概是要用Android API实现

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

但是我找不到将数据流传输到XmlPullParser对象的方法,请给我一些关于如何解决这个问题的一般性指导

我认为另一种方法是通过JavaIO下载xml文件,然后在本地解析该文件,但这并不是我想要实现的。我希望直接在internet上解析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中获取编码,而不是使用固定的编码

但它应该给出一个想法