2011-12-14 4 views
1

jdom을 사용하여 xml 파일을 로컬 리소스로 열고 읽으려고합니다. 파일을 열 수 있지만 xml 파일 형식이 잘못되었다는 오류가 발생했습니다.android에서 xml 파일을 읽을 수 없습니다.

Uri path = Uri.parse("android:resource://package_name"+R.xml.data); 
InputSource source = new InputSource(new StringReader(path.toString())); 
document = builder.build(source); 

나는 다음과 같은 오류 있어요 : 다음 코드는 여기에

org.jdom.input.JDOMParseException:Error on line 1:At line 1, column 17:not well-formed (invalid token) 

내 데이터를 사용하는 XML 파일입니다

<?xml version="1.0" encoding="utf-8"?> 
<data> 
    <person> 
    <name>Name1</name> 
    <firstname>Firstname1</firstname> 
    </person> 
    <person> 
    <name>Name2</name> 
    <firstname>Firstname2</firstname> 
    </person> 
</data> 

당신이 생각이겠습니까을? 미리 감사드립니다.

+0

당신의 XML 파일은 절대적으로 좋습니다. – hovanessyan

답변

4

귀하의 InputSource의는

당신이 안드로이드의 XML 리소스를 포함하는 경우 (잘 구성된 XML 파일 :하지 않은) 자원의 경로를 읽고, 자원을 읽는 것은, 그것은 것입니다하지 않습니다 빌드시에 미리 파싱되므로 JDOM을 사용하여 읽고 싶지는 않습니다. 대신, 당신이 DOM에 필요한 경우 XmlPullParser

를 반환합니다 Resources.getXml(R.xml.data)을 사용하는 원료에 넣어

을 (당신이 정말로 DOM으로 그것을 읽고 싶다면, 원료 자원으로 포함)/resources, openRawResource()에서 InputSource에 대한 독자를 얻으십시오

+0

답변 해 주셔서 감사합니다. 정말 DOM을 사용해야합니다. – user1086225

2

XML 파일이 정상적으로 보였으므로 파일을 올바르게 참조했는지 확신 할 수 없습니다. R.xml.data는 파일 이름이 아닌 int를 반환하기 때문에 파일에 지정한 경로를 확인합니다.

에게 는
관련 문제