2010-03-04 26 views
5

tengo un problema, quiero obtener algunos datos de archivo XML (si puedo decir que es el archivo XML), con jQuery:XML que llama con jQuery, (XML no válido)

Ésta es mi jQuery, funciona con normalidad archivo 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); 
      }); 
      } 
     }); 

Pero estos son los datos:

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

Debido a que tiene "<string ...> no funciona ...

¿Alguien puede sugerir cómo solucionarlo o tal vez hay otra manera de arreglarlo ...

Muchas gracias !!!!!!

+1

¿De qué demonios proviene ese pseudo-XML? – SLaks

+0

No tengo idea, solo tengo la ruta de acceso de este XML, y nada más – AlexC

+0

Sí, definitivamente no es XML. No hay un modo de "recuperación de errores" o "está bien" para XML. O lo es, o no lo es. –

Respuesta

11

Si el formato xml está totalmente fuera de su control, podría hackearlo un poco. Esto funcionó para mí en 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

¡¡Eres realmente hombre !!! Muchas gracias !!!!!!! – AlexC

+12

¡Mi esposa estará feliz de escuchar eso! De nada. – jessegavin

0

Puede que tenga que actualizar su versión de jquery, o tratar de leer el archivo como un archivo normal y luego usar jquery para analizarlo.