使用JQuery解析XML字符串

时间:2014-07-16 05:18:49

标签: jquery xml

我知道这看起来像是一个非常重复的问题,但我已经搜索了两天而且我找不到代码失败的地方。我试图从字符串中解析XML。

如果我使用$ .parseXML,除了一个名为" content:encoded"的项元素外,一切顺利。出于某种原因,JQuery无法找到它。如果我不使用$ .parseXML,然后我尝试只执行$(数据),那么找到该字段,但会出现其他问题(许多其他字段未找到)。我在这里发布了一个实例:

http://jsfiddle.net/danielo515/q3XLf/1/

这是负责解析XML的函数

function executeQuery(data,itemDesc){
     var result = [],
         xmlDoc = $.parseXML(data), //if I remove this line, content\\:encoded works
         $xml = $(xmlDoc),
         elements = itemDesc.elements;
        $xml.find(itemDesc.name).each(function() {
            var $this = $(this),
            item = {};
            for(var el in elements){
                item[el] = $this.find(elements[el]).text();
            }
            //Do something with item here...
            result.push(item); 
        });

     return result;
 }

我做错了什么?

1 个答案:

答案 0 :(得分:0)

最后使用标签名称的最后部分工作。这意味着,因为我用过:

$this.find("encoded").text();

我找到的所有其他选项,例如' [elementName =" content:encoded"]'没有工作。