node.js 解析xml BOM问题(xmlreader sax.js)
2013-06-25 20:24
573 查看
Email:longsu2010 at yeah dot net
之前写了两篇文章关于node.js解析xml,说的是xmlreader,文章如下
node.js解析xml(xmlreader)
node.js xmlreader无法获取CDATA区问题修复
今天程序抛出一个错误,如下:
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是个啥可以参考
http://www.w3.org/International/questions/qa-utf8-bom
温馨提示:
写程序有错误日志是很重要的,可以很快定位到系统出现异常的原因。
之前写了两篇文章关于node.js解析xml,说的是xmlreader,文章如下
node.js解析xml(xmlreader)
node.js xmlreader无法获取CDATA区问题修复
今天程序抛出一个错误,如下:
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是个啥可以参考
http://www.w3.org/International/questions/qa-utf8-bom
温馨提示:
写程序有错误日志是很重要的,可以很快定位到系统出现异常的原因。
相关文章推荐
- node.js 解析xml BOM问题(xmlreader sax.js)
- node.js解析xml(xmlreader)
- node.js xmlreader无法获取CDATA区问题修复
- 使用JAXP进行SAX解析(XMLReaderFactory、XMLReader 、SAXParserFactory与SAXParser)
- 解决Js解析xml浏览器不兼容问题及省市区三级联动实现
- android sax 解析xml中文编码问题
- 解决Js解析xml浏览器不兼容问题及省市区三级联动实现
- cocos2d-x 3.0 使用Sax解析xml文档(解决中文显示问题)
- xml--dom4j SAXReader解析
- Google Weather API返回XML的SAX和DOM解析当中遇到的问题及解决
- Java dom4j saxReader解析xml
- cocos2d-x 3.0 使用Sax解析xml文档(解决中文显示问题)
- java学习脚印:SAX解析xml时命名空间以及参数问题(敏捷版)
- 通过SaxReader解析xml配置文件(上班第一天)
- java学习脚印:SAX解析xml时命名空间以及参数问题(敏捷版)
- QT XML文档的解析 QXmlStreamReader, DOM,SAX 三种解析方法 简单示例
- SAX解析xml,characters方法遇到的问题
- SAXReader解析XML文件的路径问题
- org.dom4j.io.SAXReader解析xml
- QT XML文档的解析 QXmlStreamReader, DOM,SAX 三种解析方法 简单示例