8

xml の文字列を解析しようとしていますが、エラーが発生します

[Error: Invalid character entity
Line: 0
Column: 837
Char:  ]

xml は括弧が嫌いですか? すべての括弧を \\] のようなものに置き換える必要がありますか? ありがとう

4

2 に答える 2

7

node domparser を使用すると、文字列として簡単に解析できないすべての文字に対して文字列置換を行う必要がなくなります。これは、さまざまな文字が含まれている可能性がある解析対象の XML が大量にある場合に特に便利です。

私はxml2jsでうまく使用しているので、xmldomをお勧めします

組み合わせた使用法は次のようになります。

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);
        }
    });
于 2017-01-30T18:53:02.263 に答える