2 Stimmen

Den Inhalt wie XML analysieren, mit jQuery.

Ich habe diesen Inhalt aus einem Eingabewert:

var xml_url  = $("input").val();
alert(xml_url);

Ausgabe:

        1
        content
        NA
        0

Die Struktur ist wie eine XML-Datei. Ich möchte diese Daten erhalten.

Ich habe diesen Code:

    $(document).ready(function(){
        var xml_url  = $("input").val();
          $(xml_url).find("result").each(function()  
          {         
            alert($(this).find("item3').").text());
          });
    });

Es funktioniert gut in Firefox, aber nicht in IE7/8.

Irgendwelche Vorschläge? Vielen Dank.

2voto

Anurag Punkte 136648

Verlassen Sie sich niemals auf jQuery zum Parsen von XML.

Siehe

Verwenden Sie einen ordnungsgemäßen Parser, um die Aufgabe zu erledigen, und verwenden Sie dann jQuery, um die gewünschten Knoten zu finden. Das von Ihnen gegebene Beispiel funktioniert in Firefox, aber nicht in Chrome, Safari oder IE. Die untenstehende Funktion wird ein XML-Dokument aus einem String konstruieren.

function parseXML(text) {
    var doc;

    if(window.DOMParser) {
        var parser = new DOMParser();
        doc = parser.parseFromString(text, "text/xml");
    }
    else if(window.ActiveXObject) {
        doc = new ActiveXObject("Microsoft.XMLDOM");
        doc.async = "false";
        doc.loadXML(text);
    }
    else {
        throw new Error("XML kann nicht geparst werden");
    }

    return doc;
}

Verwenden Sie wie folgt:

// Parsen und Konstruieren eines Document-Objekts
var xml = parseXML(xml_url);

// Verwenden Sie jetzt jQuery auf dem Objekt
$(xml).find("result").each(function()  
{
    alert($(this).find("item3").text());
});

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X