Android开放式UTF-8XML
你好,我有一些xml文件 它们在UTF-8上,所以我遵循一些示例,我的代码如下所示Android开放式UTF-8XML,android,utf-8,Android,Utf 8,你好,我有一些xml文件 它们在UTF-8上,所以我遵循一些示例,我的代码如下所示 String text = ""; String str; BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(Path), "UTF-8")); while ((str = in.readLine()) != null) { text += str; } return text; 然后我
String text = "";
String str;
BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(Path), "UTF-8"));
while ((str = in.readLine()) != null) {
text += str;
}
return text;
然后我尝试用dom解析器解析代码
Document doc = parser.getDomElement(result);
而这次失败了
我已经用hexeditor检查了我的xml文件
我以前有以下字符码“
如果标记中有换行符:
<img
src="smile.jpg"/>
实际上,我还尝试了其他方法,我不知道你的方法是否有效,但它似乎比我第一次尝试的方法要好。错误是
readLine
去掉了换行符\r
,\n
,NEL
;所以我们需要自己重新添加它们。我已经通过更改我的documentbuilder来解决了我的错误,例如InputSource src=new InputSource(stream);documentbuilder db=dbf.newDocumentBuilder();
<img
src="smile.jpg"/>
<imgsrc="smile.jpg">
StringBuilder text = new StringBuilder();
try (BufferedReader in = new BufferedReader(new InputStreamReader(
new FileInputStream(Path), "UTF-8"))) {
String str;
while ((str = in.readLine()) != null) {
text.append(str).append("\n");
}
} // Does an in.close()
return text.toString();