我有这样的xml,但是我想通过node.js将xml转换为正确的xml
<?xml version = 1.0 encoding = utf-8?>
<!-- xslplane.1.xml -->
<?xml-stylesheet type = text/xsl href = xslplane.1.xsl ?>
<plane>
<year> 1977 </year>
<make> Cessna </make>
<model> Skyhawk </model>
<color> Light blue and white </color>
</plane>
我想要带有所有可能引号的XML
<?xml version = "1.0" encoding = "utf-8"?>
<!-- xslplane.1.xml -->
<?xml-stylesheet type = "text/xsl" href = "xslplane.1.xsl" ?>
<plane>
<year> 1977 </year>
<make> Cessna </make>
<model> Skyhawk </model>
<color> Light blue and white </color>
</plane>
答案 0 :(得分:0)
您可以尝试使用xml2js将格式错误的xml转换为JSON,然后再次使用它来转换为xml。尝试以下代码。
let xml2js = require('xml2js');
var xml = "<hi>Hello xml2js!</hi>";
xml2js.parseString(xml, function (err, result) {
console.dir(result);
var builder = new xml2js.Builder();
var xml = builder.buildObject(result);
console.log(xml)
});
更新:直接读取文件
var parser = new xml2js.Parser();
fs.readFile(__dirname + '/foo.xml', function(err, data) {
parser.parseString(data, function (err, result) {
console.dir(result);
console.log('Done');
var builder = new xml2js.Builder();
var xml = builder.buildObject(result);
console.log(xml)
});
});