2013-04-08 1 views
0

2 일 동안 검색 한 결과 문제를 해결할 수있는 솔루션을 아직 보았습니다. 아직 이해할 수있는 해결책이 없습니다.url.xml의 Android Pull Parser

나는이 자습서 다음입니다 - 내가 변경할 필요가 알고 Simple XMLPullParser Tutorial

두 영역을 여기

1

public List<Employee> parse(InputStream is) { 
    XmlPullParserFactory factory = null; 
    XmlPullParser parser = null; 
    try { 
     factory = XmlPullParserFactory.newInstance(); 
     factory.setNamespaceAware(true); 
     parser = factory.newPullParser(); 

     parser.setInput(is, null); 

     int eventType = parser.getEventType(); 

여기

2

List<Employee> employees = null; 
    try { 
     XMLPullParserHandler parser = new XMLPullParserHandler(); 
     employees = parser.parse(getAssets().open("employees.xml")); 
있습니다

이는 일 예에서, 아래 나는이

직원 = parser.parse (.에 getAssets() 개방 ("employees.xml을")) 제거, 달성하기 위해 노력하고있는 무슨에서 촬영된다

나는 (" http://www.example.xml")를

URL의 URL처럼 = 새로운 URL을 뭔가를 얻으려고 노력;

URLConnection connection = url.openConnection();

InputStream in = connection.getInputStream();

employees = parser.parse (in);

첫 번째 부분 변경해야 할 항목이 무엇인지, 두 번째 항목은 URL을 추가하고 연결을 열어야한다는 것입니다. 그런 다음 employees = parser ... 행을 변경하십시오. 그러나이 시점까지는 작동하는 응답을 얻는 데 아무런 운이 없습니다.

나는 android.permission.INTERNET을 (를) 추가했습니다.

자산 폴더에 자체 XML 파일을 추가했습니다.이 파일은 구문 분석하려는 URL의 사본으로 잘 작동합니다.

도움을 주시면 감사하겠습니다.

답변

0

내 대답은 여기를 참조하십시오.

Android : XmlpullParser exception는 또한,

XmlUtils.beginDocument(parser,"results"); 

"결과"에 있는지 확인하여 XML의 첫 번째 노드의 이름입니다. 귀하의 경우 그것은 "직원"일 수도 있습니다

또한 네트워크 관련 서비스는 기본 UI 스레드를 통해 액세스 할 수 없습니다.

AsyncTask를 사용하고 doInBackground() 메소드에서 메소드를 추가하십시오.

private class DownloadFilesTask extends AsyncTask<String, Void, String> { 
protected Long doInBackground(String... urls) { 
    //put your xml parsing code here. 
} 

protected void onProgressUpdate(Integer... progress) { 
    setProgressPercent(progress[0]); 
} 

protected void onPostExecute(Long result) { 
    showDialog("Downloaded " + result + " bytes"); 
} 
} 
+0

주저없이 답변을 드리겠습니다. main_activity에있는 두 번째 스 니펫에서 URL을 구문 분석 할 수없는 이유에 대해 혼란 스럽습니다. 나는 내 질문을 약간 업데이트 할 것이다. – TheBluePotter