【发布时间】:2012-01-25 17:29:49
【问题描述】:
所以,我有一个启动器活动,用户在其中选择一个文件(实际上是一个目录,包含一个 .xml 和一个 .wav)。
当他点击他要打开的文件时,我会启动一个新的活动来处理之前选择的文件。
- 向用户显示文件
- Launcher_Activity: 点击: Other_Activity.path_dir = file.getAbsolutePath(); startActivity(Other_Activity_Intent);
- 其他_活动: file_source = new InputSource(new StringReader( path_dir + "/xml.xml" )); parser.parse(file_source)
ParseException : 在第 1 行,第 0 列:格式不正确(无效标记)
这就像 XML 文件是空的......但是,我知道我的 path_dir 是正确的,我的 xml 文件也在正确的位置
我也知道它格式正确,因为我以前使用过它。 在应用程序的早期版本中,.xml 和 .wav 是“应用程序内”,所以我使用的是
file_source = new InputSource(getResources().openRawResource(R.raw.xml));
使用原始资源有效。 但我试图将资源放在应用程序之外 并且我的 XML 文档不再被识别...
<?xml version="1.0" encoding="utf-8"?>
<text>
<lots of tag .../>
</text>
xml 中没有错别字...有人知道吗?
编辑:
file_source = new InputSource(new StringReader( path_dir + "/xml.xml" ));
file_source.setEncoding("UTF-8");
parser.parse(file_source);
它似乎避免了格式错误的异常......但是应用程序在其他地方崩溃了,我必须追查到哪里......
【问题讨论】:
-
你的文件在哪里,你访问文件的方式和原始资源一样吗?
-
文件位于:
/mnt/storage/My_app_dir/an_other_dir/xml.xmlpath_dir 的值为:/mnt/storage/My_app_dir/an_other_dir所以,path_dir + "/xml.xml" 是正确的位置。我正在使用以下方式访问 xml 文件:file_source = new InputSource(new StringReader( path_dir + "/xml.xml" )); -
如果在解析之前记录输入源是否打印正确?
-
我不明白你说的“打印正确”是什么意思...在我开始解析之前,InputSource的值不为null,并且指向
/mnt/storage/My_app_dir/an_other_dir/xml.xml...我找到了一个小问题。我会编辑那个... -
对不起,我的意思是,如果您在尝试解析之前记录 xml.xml 的内容,它会正确打印吗?
标签: android xml file saxparser