我知道这看起来像是一个非常重复的问题,但我已经搜索了两天而且我找不到代码失败的地方。我试图从字符串中解析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;
}
我做错了什么?
答案 0 :(得分:0)
最后使用标签名称的最后部分工作。这意味着,因为我用过:
$this.find("encoded").text();
我找到的所有其他选项,例如' [elementName =" content:encoded"]'没有工作。