1

jdomを使用してローカルリソースとしてxmlファイルを開いて読み取ろうとしています。ファイルを開くことはできますが、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>

アイデアはありますか?前もって感謝します。

4

2 に答える 2

4

InputSourceはリソースを読み取っていません。リソースへのパスを読み取っています(これは整形式のXMLファイルではありません:))

AndroidにXMLリソースを含める場合は、ビルド時に事前に解析されるため、JDOMを使用して読み取る必要はありません。(本当にそれをDOMに読み込みたい場合は、生のリソースとして含めてください)

代わりに、を使用Resources.getXml(R.xml.data)してください。これにより、XmlPullParserが返されます。

DOMで必要な場合は、raw /リソースと一緒に配置し、openRawResource()からInputSourceのリーダーを取得します。

于 2011-12-14T17:15:08.890 に答える
2

XMLファイルは問題ないように見えるため、ファイルを正しく参照したかどうかはわかりません。R.xml.dataはファイル名ではなくintを返すだけなので、ファイルに指定したパスを確認します。

于 2011-12-14T17:11:56.897 に答える