我有一些xml:
<myco:results xmlns:myco="http://myco.mycollp.com" resultsTypeID="StockChart">
<myco:row xmlns:myco="http://myco.mycollp.com">
<myco:price title="stock">0.6107013847</myco:price>
<myco:price title="index">0.61965464</myco:price>
</myco:row>
</myco:results>
我使用以下jQuery循环它:
$(xml).find("row").each(function () {
var stockPrice = $(this).find("price[title='stock']").text();
}
但是,stockPrice总是以空字符串形式返回。
如果我检查:
$(this).find("price[title!='stock']")
长度为2,而不是1,
$(this).find("price[title='stock']")
的长度为0.
我做错了什么?
更新
给出了带有命名空间信息的完整xml,我最初省略了这个以使示例更清楚,但这可能是问题的原因所以现在给出了完整的XML。
答案 0 :(得分:1)
这里使用命名空间时你的选择器是不正确的: http://jsfiddle.net/PvakT/3/
答案 1 :(得分:0)
好的,我设法使用@pimvdb建议的jsfiddle.net网站进行工作。
var xml = '<myco:results xmlns:myco="http://myco.mycollp.com">\
<myco:row xmlns:myco="http://myco.mycollp.com">\
<myco:price title="stock">0.61</myco:price>\
<myco:price title="index">12.5</myco:price>\
</myco:row>\
</<myco:results>';
$(xml).find("myco\\:row").each(function () {
var stockPrice = $(this).find("myco\\:price[title='stock']").text();
alert(stockPrice);
});
由于