【发布时间】:2016-05-27 04:16:24
【问题描述】:
如何在读取 XML 文件时忽略 '&' 租船人。 我想要的是,首先我读取 xml 文件,然后将内容打印到列表视图.. 但在某些情况下,我的内容包含一些特殊字符,例如
&,',"
等等。
我怎么能忽略? 这是我从 sdcard 读取 xml 的代码。
MainActivity
XmlPullHandler parser = new XmlPullHandler();
File file = new File(Environment.getExternalStorageDirectory()+ "/myfile.xml");
FileInputStream fis = new FileInputStream(file);
PullHendler 类
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(true);
XmlPullParser parser = factory.newPullParser();
parser.setInput(new InputStreamReader(is));
OR 这是否可以在读取文件时替换字符.. (即 & 被 & 替换)
这是 Myfile.Xml 文件
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MyLine>
<Line>Live your life sharing the Beauty & Happiness, that you have today.
</Line>
</MyLine>
这是我的 pullHandler 类
int eventType = parser.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
String tagname = parser.getName();
switch (eventType) {
case XmlPullParser.START_TAG:
if (tagname.equalsIgnoreCase("Line")) {
line = new Lines();
}
break;
case XmlPullParser.TEXT:
text = parser.getText();
break;
case XmlPullParser.END_TAG:
if (tagname.equalsIgnoreCase("Line")) {
lines.add(line);
lines.setLine(text);
}
break;
default:
break;
}
eventType = parser.next();
}
} catch (XmlPullParserException e) {e.printStackTrace();} catch (IOException e)
{
e.printStackTrace();
} catch (NullPointerException e){
e.printStackTrace();
}
return lines;
}
【问题讨论】:
-
为什么要忽略它们有什么问题??以及从文件中获取 String 数据的代码在哪里??
-
问题是它给出了不支持的格式例外。我试图处理它但没有工作.. 因为 xml 文件不支持这种格式
-
显示一些你得到异常的 XML 文件
-
分享完整代码,告诉我异常发生在哪一行..!!
-
为什么要设置两次输入?告诉我你在设置输入后是如何使用解析器的。
标签: android xml android-studio xmlpullparser