sdcard上xml的XmlPullParser不会忽略空格

时间:2012-01-20 09:00:15

标签: android xml xmlpullparser

我正在使用XmlPullParser从应用程序的嵌入式资源或SD中读取相同的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);

2 个答案:

答案 0 :(得分:0)

提示:.apk中的XML 资源在构建过程中被编译为二进制格式。这也可能削减“不必要的”空白。要避免这种编译,您可以将XML资源放入assets文件夹并从那里读取XML。

那么

context.getResources().getXml(resId);当然不再适用了;您的资产不会分配资源ID。你必须使用原始文件名。

编辑:

getXml()的文档说:

  

此处返回的XmlPullParser实现有一些限制   功能。特别是,您无法仅更改其输入   高级解析事件可用(因为文档是   在构建时为您预解析,其中涉及合并文本和   剥离评论)。

答案 1 :(得分:0)