2010-03-04 11 views
5

Ich habe ein Problem, ich möchte einige Daten aus XML-Datei erhalten (wenn ich kann sagen, dass es XML-Datei), mit jQuery:Xml Aufruf mit jQuery, (ungültige XML)

Dies ist mein jQuery, es funktioniert mit normalen XML-Datei:

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

Aber das ist die Daten:

<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> 

Weil es "<string ...> hat es nicht funktioniert ...

Kann jemand vorschlagen, wie man es repariert, oder vielleicht gibt es einen anderen Weg zu reparieren ...

Vielen Dank !!!!!!

+1

Woher kommt dieses Pseudo-XML? – SLaks

+0

Ich habe keine Ahnung, ich habe nur den Weg dieses XML, und sonst nichts – AlexC

+0

Ja, das ist definitiv nicht XML. Es gibt keinen "Fehlerbehebungsmodus" oder "Sorta OK" -Modus für XML. Es ist entweder oder nicht. –

Antwort

11

Wenn das XML-Format völlig außerhalb Ihrer Kontrolle ist, könnten Sie es ein wenig hacken. Das hat bei FireFox für mich funktioniert.

$.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

Sie sind wirklich ein Mann !!! Vielen Dank !!!!!!! – AlexC

+12

Meine Frau wird sich freuen, das zu hören! Bitte. – jessegavin

0

Sie müssen möglicherweise Ihre Version von jquery aktualisieren oder versuchen, die Datei wie eine normale Datei zu lesen, dann verwenden Sie jquery, um es zu analysieren.