2010-03-04 36 views
5

我有一個問題,我想從XML文件中的一些數據(如果我可以說,這是一個XML文件),用jQuery:的Xml使用jQuery,(無效的XML)調用

這是我的jQuery,它的工作原理與普通的XML文件:

$.ajax({ 
     type: "GET", 
     url: "test.xml", 
     dataType: "xml", 
     success: function(xml) { 
      $(xml).find('result').each(function(){ 
      var bid = $(this).find('bid').text(); 
      alert(bid); 
      }); 
      } 
     }); 

但是,這是數據:

<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/"> 
<?xml version="1.0" ?> 


<T_transmission> 
<result> 
<last>9.9200</last> 
<bid>9.9000</bid> 
<ask>9.9200</ask> 
<mid>9.9100</mid> 
</result> 

</T_transmission> 

</string> 

因爲它有「<string ...>它不工作...

有人可以建議如何解決它也許有另一種方式來解決......

非常感謝!!!!!!

+1

究竟是什麼僞XML來自? – SLaks 2010-03-04 17:03:46

+0

我不知道,我只是這個XML的路徑,沒有別的 – AlexC 2010-03-04 17:07:05

+0

是的,這絕對不是XML。對於XML沒有「錯誤恢復」或「sorta ok」模式。它要麼是或者不是。 – 2010-03-04 17:10:17

回答

11

如果xml格式完全不在您的控制範圍內,您可以像這樣破解它。這在FireFox中適用於我。

$.ajax({ 
    type: "GET", 
    url: "test.xml", 

    // change dataType to 'text' so that jquery doesn't try to parse xml 
    dataType: "text", 
    success: function(xml) { 

    // just remove the declaration using replace() 
    xml = xml.replace('<?xml version="1.0" ?>', ''); 

    $(xml).find('result').each(function(){ 
    var bid = $(this).find('bid').text(); 
    alert(bid); 
    }); 
    } 
}); 
+0

你真的是男人! 非常感謝!!!!!!! – AlexC 2010-03-04 17:21:04

+12

我的妻子會很高興聽到!別客氣。 – jessegavin 2010-03-04 17:25:38

0

您可能需要更新您的jquery版本,或嘗試像常規文件那樣讀取文件,然後使用jquery解析它。