Ich brauche in JavaScript, um Variableninhalte einer anderen Seite von der gleichen Website zu laden und dann Daten von diesem Inhalt (Parse XML).Parsing XMLHttpRequest() Ergebnis (mit XPath)
Ich habe Textvariable Variable der Seite HTML mit XMLHttpRequest() und responseText -Eigenschaft bekommen.
Danach konvertierte ich Textzeichenfolge in XML-Objekt (DOMParser) und versuchte, XPath zu verwenden.
In FireFox Konsole sah ich Fehler:
Node cannot be used in a document other than the one in which it was created
Wie kann ich XMLHttpRequest konvertieren() in Dokumentobjekt führt es mithilfe von XPath zu verarbeiten? Wie sollte ich document.evaluate mit diesem Objekt verwenden? Gibt es den einfacheren Weg, meine Aufgabe zu erledigen?
textString=file_get_contents('my url');
var parser = new DOMParser();
xml = parser.parseFromString(textString, "text/xml");
list = getI("(//td[contains(text(), 'Total:')])[1]",xml);
// Error: Node cannot be used in a document other than the one in which it was created`enter code here`
// HOW USE getI function here? (document.evaluate)
function file_get_contents(url) { // Reads entire file into a string
//
// + original by: Legaev Andrey
// % note 1: This function uses XmlHttpRequest and cannot retrieve resource from different domain.
var req = null;
try { req = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {
try { req = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {
try { req = new XMLHttpRequest(); } catch(e) {}
}
}
if (req == null) throw new Error('XMLHttpRequest not supported');
req.open("GET", url, false);
req.send();
return req.responseText;
}
function getI(xpath,elem){return document.evaluate(xpath,(!elem?document:elem),null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);}
auf die 'evaluate' Methode verwenden Ihr 'xml' Dokument - dh' xml.evaluate (xpath, ... ' –