我试图解析一串xml,我收到一个错误
[Error: Invalid character entity
Line: 0
Column: 837
Char: ]
Run Code Online (Sandbox Code Playgroud)
xml不喜欢括号吗?我是否需要用\\]等替换所有括号.谢谢
好的,无效字符是短划线和&.我通过执行以下操作修复了它:
xml = data.testSteps.replace(/[\n\r]/g, '\\n')
.replace(/&/g,"&")
.replace(/-/g,"-");
Run Code Online (Sandbox Code Playgroud)
谢谢
使用节点domparser可以避免对每个不容易解析为字符串的字符进行字符串替换。如果您要解析大量可能具有不同字符的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(xmlStringSerialized, function (err, result) {
if (err) {
//did not work
} else {
//worked! use JSON.stringify()
var allDone = JSON.stringify(result);
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4994 次 |
| 最近记录: |