uwerothfeld: SVG - XML Parser mittels JavaScript ansprechen

Hallo zusammen,

ich will mit einer SVG Datei Daten aus einer XML Datei anzeigen. Diese Daten will ich über JavaScript laden und in ein Array schreiben und dieses dann in der SVG Datei anzeigen. In einer reinen JAvaScript Datei hat das Lesen der Daten super geklappt, wenn ich dies aber innerhalb der SVG versuche (innerhalb eines <script></script> das JavaScript Skript ausführe) mault er rum das er das ActiveXObject nicht kennt oder es null ist. Was muß ich ändern? Im Moment lade ich die XML Datei so:

var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.load("daten.xml");
xmlObj=xmlDoc.documentElement;

kann mir jemand helfen?

mfg

  1. Hallo,

    ich will mit einer SVG Datei Daten aus einer XML Datei anzeigen.

    Verwende statt dem ActiveXObject-Zugriff die ASV-Methode parseXML() in Verbindung mit getURL(): Beispiel 1 | Beispiel 2. Im Beispiel 2 werden GZip-komprimierte XML-Daten geladen (1.2 MB --> 200 KB).

    MfG, Thomas

    1. Hallo,

      erst mal riesen Dank. die seite kannte ich, habe das beispiel nicht gefunden. blöd wenn man blind ist. dennoch eine frage: mein testcode sieht jetzt so aus:

      var xmldoc;

      function load(evt){
         getURL("dat.xml",callback);
      }

      function callback(urlRequestStatus){

      if(urlRequestStatus.success){

      xmldoc=parseXML(urlRequestStatus.content);
      alert(urlRequestStatus.content);
      alert(xmldoc);
          }//End if
      }

      im urlRequestStatus.content steht meine xml Datei, daher gelesen hat er sie, aber wenn ich xmldoc.childNodes(0) ausgeben will, stirbt er. wo ist mein fehler???

      danke!!!

      1. Hallo,

        im urlRequestStatus.content steht meine xml Datei, daher gelesen hat er sie, aber wenn ich xmldoc.childNodes(0) ausgeben will, stirbt er. wo ist mein fehler???

        xmldoc.childNodes.item(0)

        MfG, Thomas

        1. he danke,

          noch ne letzte frage: warum bekomme ich wenn ich die länge der nodelist abfrage als antwort 5 obwohl ich nur 2 elemente unter dieser node habe? also in etwa so:

          <A>
          <B></B>
          <B></B>
          </A>

          mfg und riesen dank.

          Hallo,

          im urlRequestStatus.content steht meine xml Datei, daher gelesen hat er sie, aber wenn ich xmldoc.childNodes(0) ausgeben will, stirbt er. wo ist mein fehler???

          xmldoc.childNodes.item(0)

          MfG, Thomas

          1. Hallo,

            noch ne letzte frage: warum bekomme ich wenn ich die länge der nodelist abfrage als antwort 5 obwohl ich nur 2 elemente unter dieser node habe? also in etwa so:

            <A>
            <B></B>
            <B></B>
            </A>

            Es sind neben den Elementknoten noch weitere Textknoten (Zeilenumbrueche) vorhanden.

            Greife so selektiv auf die Elementknoten zu:
            knoten.getElementsByTagName("A").item(...)
            knoten.getElementsByTagName("B").item(...)

            Alternativ laesst sich der Knotenbaum (childNodes) auf die einzelnen Knotentypen mit der Eigenschaft nodeType pruefen (1 --> Elementknoten, 2 --> Attributknoten, 3 --> Textknoten usw.).

            MfG, Thomas

            1. Hallo,

              vielen Dank, hast mir sehr geholfen!!

              mfg