2011-12-14 150 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,而不是文件名。