无效的字符实体parsingxml
我想parsing一个XML的string,我得到一个错误
[Error: Invalid character entity Line: 0 Column: 837 Char: ]
xml不喜欢括号吗? 我是否需要用\\]之类的东西replace所有的括号。 谢谢
好吧,无效的字符是破折号和一个&。 我通过执行以下操作来修复它:
xml = data.testSteps.replace(/[\n\r]/g, '\\n') .replace(/&/g,"&") .replace(/-/g,"-");
谢谢
使用一个节点domparser将绕过不得不做一个stringreplace每个字符不容易被parsing为一个string。 如果你有大量的XML来分析可能有不同的字符,这是特别有用的。
我会推荐xmldom,因为我已经用xml2js成功地使用了它
组合的用法如下所示:
var parseString = require('xml2js').parseString; var DOMParser = require('xmldom').DOMParser; var xmlString = "<test>some stuff </test>"; var xmlStringSerialized = new DOMParser().parseFromString(xmlString, "text/xml"); parseString(context.xmlString, function (err, result) { if (err) { //did not work } else { //worked! use JSON.stringify() var allDone = JSON.stringify(result); } });