gpt4 book ai didi

javascript - Node.js : xml-js (npm ver 1. 6.4)

转载 作者:太空宇宙 更新时间:2023-11-04 01:48:27 26 4
gpt4 key购买 nike

我无法弄清楚如何使用 xml-js。当我运行代码时,我看到了输出。但是,当我尝试从特定键获取值时,它会给出未定义或无法读取未定义属性的错误。我在下面添加了我的代码。我做错了什么?

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 result2 = convert.xml2json(xml, {compact: true, spaces: 4});
console.log(result2);

假设我想要 title 的值为 'happy'。我尝试这样做,但它不起作用... result2.title; 甚至尝试了 result2._text; 但没有任何作用。任何帮助,将不胜感激。谢谢!!

最佳答案

<title>在里面<note> ,因此为了访问它,您应该执行以下操作:

result2.note.title

但是您的主要问题是您正在使用 .xml2json方法而不是 .xml2js这将生成一个 JSON 字符串而不是一个对象。

来自docs :

To convert XML text to JavaScript object, use xml2js(). To convert XML text to JSON text, use xml2json().

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 result2 = convert.xml2js(xml, {compact: true});
console.log(result2.note.title); // { _text: 'Happy' }
console.log(result2.note.title._text); // 'Happy'

spaces选项本身适用于 xml2json ,所以你不需要它。

当使用.xml2json时您试图访问 titlenote字符串的属性,当然不存在。

''.title; // undefined
''.note; // undefined
''.note.title // TypeError cannot read property 'title' of undefined

注意:如果您使用 npm 1.6 这意味着您使用的 Node.js 版本不再受支持,您应该更新到 v8.x.x (LTS) 或最新的 v10.x.x

关于javascript - Node.js : xml-js (npm ver 1. 6.4),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50574011/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com