2011-12-14 151 views
1

我想打开并阅读一个XML文件作为本地资源与jdom。我可以打开文件,但后来发现错误,说明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

得到您的读者为您的InputSource您的xml文件是绝对好的。 – hovanessyan 2011-12-14 17:14:10

回答

4

您的InputSource不读书的资源,它读取路径资源(这不是一个良好的XML文件:))

如果你要包括在Android的XML资源,这将是在编译时预分析,所以你不想用JDOM来读取它。 (如果你真的想把它读入一个DOM,把它作为原始资源)

相反,使用Resources.getXml(R.xml.data),如果你需要在一个DOM将返回一个XmlPullParser

,把它与原/资源,并从openRawResource()

+0

谢谢你的回答。我真的需要使用DOM。 – user1086225 2011-12-15 15:18:57

2

我不确定你是否正确地引用了该文件,因为XML文件看起来很好。我会检查您指定给文件的路径,因为R.xml.data只会返回一个int,而不是文件名。