2013-06-18 2 views
0

Xmlpull을 테스트 중이며 실제로 컴퓨터에서 xml을 로컬로 구문 분석했습니다. 지금, 나는 인터넷에 XML 파일을 구문 분석하고자하는 파일은 다음과 같습니다Xmlpull Java, 인터넷에서 XML 파일 구문 분석

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

하지만 난 XmlPullParser 객체에 데이터를 스트리밍 할 수있는 방법을 찾을 수없는,에 나에게 몇 가지 일반적인 가이드 라인을 제공하십시오 어떻게 해결할 수 있을까요?

다른 접근법은 java io를 통해 xml 파일을 다운로드 한 다음 로컬에서 파일을 구문 분석하는 것이지만 이것이 달성하려고했던 것과 정확히 일치하지는 않습니다. 나는 복사본을 로컬에 저장하지 않고 인터넷에서 XML 파일을 직접 파싱하고 싶다.

어쨌든 최선의 방법을 알려주십시오.

덕분에, 모든

답변

1

아마도 당신의 의도는 안드로이드 API를, 그래서 적절한 번역하십시오 그렇게하는 것입니다 분명하다 바랍니다. 일반 자바에서

는 경우 StAX 구문 분석 XmlStreamReader있다, 다음과 같이 에서 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 밖으로 가져옵니다.

그러나 아이디어가 있어야합니다.