首先我很抱歉我的英语我不是母语人士。
我有一个Android应用程序,我尝试解析手机上任何位置的xml文件(通过filechooser选择)。我从filechooser得到一个这样的路径:/storage/emulated/0/file.xml
这是xml文件:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<kartenset>
<row thema="Test"><id>22</id><id_thema>14</id_thema><frage>Frage 1</frage><frage_bild/><antwort_text>Frage 1 Antowrt</antwort_text><antwort_bild/></row>
<row thema="Testfdd"><id>23</id><id_thema>14</id_thema><frage>Frage 2</frage><frage_bild/><antwort_text>Frage 2 Antwort</antwort_text><antwort_bild/></row>
</kartenset>
我认为这部分也很有趣
InputSource inputSource = new InputSource();
inputSource.setEncoding("utf-8");
inputSource.setCharacterStream(new StringReader(path));
xr.parse(inputSource);
当我从网上下载相同的文件时,xml解析器正在工作(当然是使用url openstream ...)
我也试过了:
xr.parse(new InputSource(cont.getResources().getAssets().open(p_uri)));
和不同的编码。
我希望有人能帮助我。感谢
修改
我明白了。现在它有效。没有例外。解决方案就在这里:
InputSource inputSource = new InputSource();
inputSource.setEncoding("utf-8");
inputSource.setCharacterStream(new StringReader(p_uri));
xr.parse(new InputSource(new FileReader(new File(p_uri))));