我尝试使用xml-js
和xml2js
,但是两者都返回相同的错误。
<?xml version="1.0" encoding="UTF-8"?>
^
SyntaxError: Unexpected token <
at createScript (vm.js:80:10)
at Object.runInThisContext (vm.js:139:10)
at Module._compile (module.js:616:28)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
xml示例:
<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
代码示例:
var notes =require('./test.xml')
var convert = require('xml-js');
var xml =notes;
var result1 = convert.xml2json(xml, {compact: true, spaces: 4});
var result2 = convert.xml2json(xml, {compact: false, spaces: 4});
console.log(result1, '\n', result2);
您可以提供解决方案吗?我尝试使用JSON.parse
,JSON.stringify
,但仍然无法正常工作。
顺便说一下,我正在尝试解析XML以转换为JSON。
答案 0 :(得分:1)
问题不在于XML解析,而在于您正在使用require
,它会加载Node.js模块以读取另一个文件。相反,您应该使用一种简单的文件读取方法,例如fs.readSync
:
fs = require('fs');
var notes = fs.readFileSync('./test.xml')