0

アプリの埋め込みリソースまたは SD から XmlPullParser を使用して同じ XML を読み取っています。問題は、リソースの空白から xml を読み取ると無視されますが、sdcard の xml は無視されないことです。

リソースでxmlのPullParserを作成する方法は次のとおりです(さらにコードをプルすることは両方の場合に共通です)

XmlPullParser parser = context.getResources().getXml(resId);

ここでは、sdcard で xml のパーサーを作成します。

XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
XmlPullParser parser = factory.newPullParser();

FileReader fileReader = new FileReader(filePath);

parser.setInput(fileReader);
4

2 に答える 2

0

お役に立てば幸いです::

http://developer.android.com/reference/org/xmlpull/v1/XmlPullParser.html#nextToken%28%29

于 2012-01-20T10:20:31.267 に答える
0

ヒント: .apk 内の XMLリソースは、ビルド プロセス中にバイナリ形式にコンパイルされます。これにより、「不要な」空白も削除される場合があります。このコンパイルを回避するには、XML リソースをassetsフォルダーに入れて、そこから XML を読み取ります。

context.getResources().getXml(resId);もちろん、もう機能しません。アセットにはリソース ID が割り当てられません。元のファイル名を使用する必要があります。

編集:

getXml()のドキュメントには次のように書かれています。

ここで返される XmlPullParser の実装には、一部の機能が制限されています。特に、その入力を変更することはできず、高レベルの解析イベントのみが利用可能です (ビルド時にドキュメントが事前に解析され、テキストのマージとコメントの削除が必要になるため)。

于 2012-01-20T09:21:43.607 に答える