使用jQuery读取XML文件

我有一个forms的xml文件:

 1 33.94  

这是为了跟踪电子商务购物车内容。 所以它总是只有一个“购物车”节点。

我想阅读“cartTotal”字段。 如果它大于0,那么我想在网站上显示我的“查看购物车”按钮。

我尝试了以下内容并且无法正常工作:

 $(document).ready(function(){ $.ajax({ type: "GET", url: "https://www.example.com/file.xml", dataType: "xml", success: function(xml) { $(xml).find('cart').each(function(){ if (($(this).attr('cartTotal')) > 0) { $("a.view-cart-button").css('visibility', 'visible'); } }); } }); }); 

...元素不是属性,而是子节点

更换:

 if (($(this).attr('cartTotal')) > 0) { $("a.view-cart-button").css('visibility', 'visible'); } 

附:

 if ( $('cartTotal',$(this)).text()*1 > 0) { $("a.view-cart-button").css('visibility', 'visible'); } 

修订

有一点需要注意,在另一个域上使用AJAX调用XML文件并且没有CORS访问,这将失败,请尝试以下操作:

 $(document).ready(function(){ $.ajax({ type: "GET" , url: "https://secure.ultracart.com/cgi-bin/UCJavaScript?merchantid=DEMO&type=xml" , dataType: "xml" , success: function(xml) { if( $(xml).find('cartTotal').text()*1 > 0 ){ $("a.view-cart-button").css('visibility', 'visible'); } } }); });​ 

如果您正在处理支付网关或类似网站,请首先参阅他们的文档 – 他们将指定您如何从您自己的网站与他们进行交互。