我想在netbeans中读取一个xml文件,我使用以下代码:
DocumentBuilderFactory dbf ; DocumentBuilder db; Document doc = null;
File file = new File(xml_url);
dbf = DocumentBuilderFactory.newInstance();
db = dbf.newDocumentBuilder();
doc = db.parse(file);然后给出了一个错误:Byte "239" is not a member of the (7-bit) ASCII character set.
xml报头是:
<?xml version="1.0" encoding="us-ascii"?>我怎么才能解决这个问题?谢谢。
发布于 2013-11-07 21:27:20
您的XML文件声称在XML头中是ASCII,但实际上并非如此,因为它显然包含非ASCII字节。
按优先顺序修正:
0xEF 0xBB 0xBF的第一个字节。我强烈怀疑有软件错误地将它添加到XML文件的开头。例如,记事本就是如此。
如果是这样的话,删除字节顺序标记,它是文件的前三个字节,就在<?xml之前。如果您的编辑器没有显示它(例如,我认为记事本没有显示,Netbeans也可能有问题。),那么找另一个会显示的。
只要用一个不支持UTF-8BOM的编辑器打开和重新保存文件就足够了。<?xml version="1.0" encoding="us-ascii"?>替换为<?xml version="1.0" encoding="UTF-8"?>。这只有在我对BOM的假设是正确的情况下才能起作用。发布于 2021-10-26 12:38:36
我本可以在克里斯托福的帖子下发表评论,但堆叠式的帖子要求我获得50种声誉,而我却没有。我用的是macOS大苏尔。vi附带不识别字节239,而pico则识别字节239。
https://stackoverflow.com/questions/19846917
复制相似问题