如何在Javascript中读取XML文件?

如何在Javascript中读取XML文件?,javascript,node.js,xml,discord,Javascript,Node.js,Xml,Discord,我正在为不和谐创建一个机器人。我正在从互联网下载一个占星术XML文件。XML文件结构如下所示: <?xml version="1.0" encoding="utf-8"?> <horo> <date yesterday="04.01.2019" today="05.01.2019" tomorrow="06.01.2019"/> <aries> <yesterday> Text 1 </yesterday> <tod

我正在为不和谐创建一个机器人。我正在从互联网下载一个占星术XML文件。XML文件结构如下所示:

<?xml version="1.0" encoding="utf-8"?>
<horo>
<date yesterday="04.01.2019" today="05.01.2019" tomorrow="06.01.2019"/>

<aries>
<yesterday>
Text 1
</yesterday>
<today>
Text 2
</today>
<tomorrow>
Text 3
</tomorrow>
</aries>

......

</horo>
在控制台中,我看到了与XML文件中相同的内容

但我不明白如何引用“星座数据”字段。
如何返回“aries->today”中的字符串?

您可以使用以下库

要将XML转换为JSON,可以使用内置的javascript JSON函数
JSON.parse(目标)或JSON.stringify(目标)

引用这个包,下面是一个将XML转换为JSON的简单示例

var convert = require('xml-js');
var xml =
'<?xml version="1.0" encoding="utf-8"?>' +
'<note importance="high" logged="true">' +
'    <title>Happy</title>' +
'    <todo>Work</todo>' +
'    <todo>Play</todo>' +
'</note>';
var result1 = convert.xml2json(xml, {compact: true, spaces: 4});
var result2 = convert.xml2json(xml, {compact: false, spaces: 4});
console.log(result1, '\n', result2);
var convert=require('xml-js');
var-xml=
'' +
'' +
“快乐”+
“工作”+
“玩”+
'';
var result1=convert.xml2json(xml,{compact:true,spaces:4});
var result2=convert.xml2json(xml,{compact:false,spaces:4});
console.log(result1、\n、result2);
如果您不喜欢直接在XML中工作,这可能会对您有所帮助,因为与JSON的交互非常简单

这就是如何从xml js转换为的JSON中提取所需内容

var convert = require('xml-js');
var xml =
'<?xml version="1.0" encoding="utf-8"?>'+
'<horo>'+
'<date yesterday="04.01.2019" today="05.01.2019" tomorrow="06.01.2019"/>'+
'<aries>'+
'<yesterday>'+
'Text 1'+
'</yesterday>'+
'<today>'+
'Text 2'+
'</today>'+
'<tomorrow>'+
'Text 3'+
'</tomorrow>'+
'</aries>'+
'</horo>';

const rawJSON = convert.xml2json(xml, {compact: true, spaces: 4});
const convertedJSON = JSON.parse(rawJSON);
console.log(convertedJSON.horo.aries.today._text);
var convert=require('xml-js');
var-xml=
''+
''+
''+
''+
''+
“文本1”+
''+
''+
“文本2”+
''+
''+
“文本3”+
''+
''+
'';
const rawJSON=convert.xml2json(xml,{compact:true,spaces:4});
const convertedJSON=JSON.parse(rawJSON);
log(convertedJSON.horo.aries.today.\u text);

我将XML转换为JSON。但我仍然不明白如何引用元素“白羊座->今天”。我试着这样做:var ResultData=convert.xml2json(HoroscopeData,{compact:true,spaces:4});log(ResultData.horo.aries.today);“ResultData”现在是字符串了吗?我们编辑了文章,向底部解释,非常感谢。没有你我不可能做到。现在更困难的部分已经开始了。Async/Await=)哈哈,没问题,也许你应该看看我几天前写的这篇文章,很乐意帮你解答任何问题,直到它点击为止,这太可怕了!
var convert = require('xml-js');
var xml =
'<?xml version="1.0" encoding="utf-8"?>'+
'<horo>'+
'<date yesterday="04.01.2019" today="05.01.2019" tomorrow="06.01.2019"/>'+
'<aries>'+
'<yesterday>'+
'Text 1'+
'</yesterday>'+
'<today>'+
'Text 2'+
'</today>'+
'<tomorrow>'+
'Text 3'+
'</tomorrow>'+
'</aries>'+
'</horo>';

const rawJSON = convert.xml2json(xml, {compact: true, spaces: 4});
const convertedJSON = JSON.parse(rawJSON);
console.log(convertedJSON.horo.aries.today._text);