从XML Object检索数据

时间:2013-11-08 16:56:32

标签: javascript xml node.js

我遇到了一个小问题。我使用xml2js Parser

解析了一条消息
parser.parseString(message.toString(), function (err,result) {
    //Extract the value from the data element
    value = result;
    console.log(result);
});
return value;

这会正确返回一个XML对象,如下所示:

{message: { type: ['authMessage'], sender: ['username']} }

但知道我想要数据,意思是type = authMessage; sender = username;

我如何获得该数据?我不太确定,谢谢你的帮助。

2 个答案:

答案 0 :(得分:1)

使用parser.parseString()后,您将获得一个简单的Javascript对象。怎么样:

var type = result.message.type[0];
var sender = result.message.sender[0];

这是some documentation on Javascript variable types.

答案 1 :(得分:0)

看起来你并不清楚“异步”和“同步”概念。 console.log(result);在异步回调中显示结果,该回调在 return value;之后执行。因此value未初始化,函数返回undefined

如果parseString内部不执行异步调用,则此代码可能有效,但这是一种特殊情况。大多数带回调的代码都是异步工作的。因此,您也需要以这种方式组织代码。