无效的字符实体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); } });