Hur gör jag för att ladda in ett xml dokument med javascript????
Mitt försök:
var xmldoc = new ActiveXObject("Msxml2.DOMDocument");
xmldoc.async = false;
xmldoc.loadXML("xmellen.xml");
alert(xmldoc.xml);
5 svar · 633 visningar · startad av hanna
Hur gör jag för att ladda in ett xml dokument med javascript????
Mitt försök:
var xmldoc = new ActiveXObject("Msxml2.DOMDocument");
xmldoc.async = false;
xmldoc.loadXML("xmellen.xml");
alert(xmldoc.xml);
.loadXML (), har jag för mig, används för att ladda en sträng. Metoden .load () laddar en fil. :)
Observera att du endast kan använda ActiveX-objekt med IE5+.
Hur gör jag utan activeX? Går det på något annat sätt?
Det verkar inte fungera med vare sig med endast load() eller loadXML().
Borde inte alerten visa alla taggar i xml-dokumentet?
Följande funkar för mig (MSIE5 med någon senare version av MSXML3 ombord):
<html><head><title>test</title></head>
<body>
<script type="text/javascript">
var xmldoc = new ActiveXObject("Msxml2.DOMDocument");
xmldoc.async = false;
xmldoc.load("testfil.xml");
alert(xmldoc.xml);
</script>
</body>
</html>
och alla XML-taggar visas i Alert:en
Hur gör jag utan activeX? Går det på något annat sätt?
Hmmm.... Kanske du kan kompilera in en XML-Parser (t.ex. Apache:s Xerces eller Xalan) som en Java-applet och anropa den från Javascript? *Brrrrrrrr *
MSIE och Mozilla/NN6 kör iofs olika XML-parsers... Någon som har rotat runt i XML-stödet i Mozilla via Javascript ?
Kanske det här kan bli något en vacker dag (XML/XSLT-Parser i Javascript) - men tills dess den (eller någon annan produkt) blir klar är nog IMHO ClientSide XML/XSLT Transforms lite *väl* "Bleeding edge" än så länge - om man inte kan låsa sig vid *en* version av *en* webbläsare på *en* OS-plattform ;)
I nya versioner av IE och i Mozilla kan man använda följande kod för att hantera XML via JavaScript, men tänk på att det inte fungerar i andra webläsare, som Netscape, Opera och tidiga versioner av IE.
<script language="JavaScript" type="text/javascript">
function CrossBrowserXML () {
try {
objXML = new XMLHttpRequest (); // För Mozilla
}
catch {
objXML = new ActiveXObject ( "MSXML2.XMLHTTP" ); // För IE
}
... // Använd ditt XML-objekt
}
</script>