Email:longsu2010 at yeah dot net
之前写了两篇文章关于node.js解析xml,说的是xmlreader,文章如下
今天程序抛出一个错误,如下: Error: Non-whitespace before first tag. 错误是在sax模块中抛出来的(xmlreader基于sax),意思是说第一个标签前有非空白符。 我打开文件看了下,没有多余的字符,绝对没有。之后就想到了BOM(对了,我的xml文件编码是UTF-8的),十六进制一看还真是有BOM,去掉BOM之后程序顺利的执行了。 原因找到了,之后我就在将字符串传给xmlreader之前写了如下的一段代码。 xml_string = xml_string.replace(/^\ufeff/i, "").replace(/^\ufffe/i, ""); 关于BOM是个啥可以参考 温馨提示: 写程序有错误日志是很重要的,可以很快定位到系统出现异常的原因。