Android开放式UTF-8XML

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; 然后我

你好,我有一些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;
然后我尝试用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();