2011-12-14 9 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

、それはあなたがアンドロイドでのXMLリソースを含めている場合、それはなります(整形式のXMLファイル:)ではありません)、リソース

へのパスを読んでいますビルド時にあらかじめ解析されているため、JDOMを使用して読み込む必要はありません。代わりに、あなたはDOMでそれを必要とする場合XmlPullParser

を返しますResources.getXml(R.xml.data)を使用し、生でそれを置く

を(あなたが本当にDOMにそれを読みたい場合は、生のリソースとしてそれを含めます)/resourcesと入力し、OpenRawResource()からInputSourceを取得してください

+0

ありがとうございます。私は本当にDOMを使用する必要があります。 – user1086225

2

XMLファイルが正しく表示されているため、ファイルを正しく参照しているかどうかはわかりません。 R.xml.dataはファイル名ではなくintを返すだけなので、ファイルに指定したパスをチェックします。

あなたのInputSourceがリソースを読んでいません
関連する問題