0

我有这个代码:

$.ajax({
    type: "GET",
    url: trgUrl,
    success: function (data)
    {
        var xml= $.parseXML(data);
                               {
        var obj= $.xml2json(xml);

        //....
    }
 });

并且data可以是这样的:

 "<name> Mike </name>"

现在,问题是使用后$.xml2json(xml),为了显示我需要写的名字:

 alert(obj.name.value); // Mike

而不仅仅是:

 alert(obj.name);    // object object

换句话说:$.xml2json将 的内容<name>转换为另一个对象(而不是使其成为直接字符串)

我该如何解决这种行为?有人有这个问题吗?

4

1 回答 1

2

修改插件如下:

// Add element value
if(node.childElementCount == 0 && node.textContent != null && node.textContent != "") {
         /* comment out ".value" */
         result[node.nodeName]/*.value */= node.textContent.trim();
}

演示:http: //jsfiddle.net/ycN37/

如果节点有子节点,这可能会产生问题,这可能是作者首先创建对象的原因

于 2013-02-05T23:31:25.077 回答