sdcard上xml的XmlPullParser不忽略空白



我正在使用XmlPullParser从应用程序的嵌入式资源或SD读取相同的XML。问题是,当我从资源读取XML时,空白被忽略,但SD卡上的XML不会被忽略。

以下是我如何在资源中为xml创建PullParser(进一步提取代码对这两种情况都很常见)

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

在这里,我在SD卡上创建了xml的解析器

XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
XmlPullParser parser = factory.newPullParser();
FileReader fileReader = new FileReader(filePath);
parser.setInput(fileReader);

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

那么CCD_ 2当然将不再工作;您的资产将不会分配资源id。您必须使用原始文件名。

编辑:

getXml()的文档说明:

此处返回的XmlPullParser实现有一些限制功能。特别是,您不能更改其输入,并且只能高级解析事件可用(因为文档在构建时为您预先解析,其中包括合并文本和剥离注释)。

我希望它能帮助你::

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

最新更新