[英]RSS reader vs BOM error
我正在尝试将RSS Feed / XML文件读入我的应用程序。 问题是有一个我的inputStream不喜欢的BOM(字节顺序标记),它引发了一个错误,该错误又引发了另一个错误,一切都消亡了。
方法如下:
private Document getDomFromXMLString(String xml) {
Document doc = null;
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
try {
DocumentBuilder db = dbf.newDocumentBuilder();
InputSource is = new InputSource();
is.setCharacterStream(new StringReader(xml));
doc = db.parse(is);
} catch (Exception e) {
e.printStackTrace();
}
return doc;
}
所以我想弄清楚如何有效地跳过BOM并输入文件的其余部分
如果你有一个字符流和String
是,那么跳过BOM是剥离的第一个字符,这容易为BOM :
if (xml.charAt(0) == '\ufeff')
xml = xml.substring(1);
但是,您真正应该做的是要求消息源修复其提要。 BOM不应该放在首位。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.