Philipp: Ajax Problem, kann xml object nicht parsen

Hallo

Sorry dass ich ein neues Thema zu meinem Problem eroeffene aber es scheint im alten Thread unter zu gehen! Ich bekomme nun von meinem CGI Programm ein XML Document als Antwort. Ich versuche nun mit Javascript das XML Doc zu parsen mit folgedem Befehl:

response = http.responseXML.documentElement;
up_since =response.getElementsByTagName('up_since')[0].firstChild.data;

Ich versuche so den Wert von up_since rauszulesen, aber er gibt mit die Meldung aus

Error: response.getElementsByTagName("up_since")[0] has no properties
Source File: http://localhost/BabysteptestXML.htm
Line: 28

Obwohl mein XML Document so ausschaut: <?xml version="1.0"?><engine_status><up_since>1124357455</up_since><up_duration>16363</up_duration><connected_users>0</connected_users><active_users>0</active_users><allowed_users>1</allowed_users><verification_matrix><tr><td>sr</td><td>kj</td><td>bc</td><td>tg</td><td>pf</td></tr><tr><td>ph</td><td>gt</td><td>cq</td><td>fk</td><td>pk</td></tr><tr><td>hm</td><td>tc</td><td>rj</td><td>ee</td><td>tb</td></tr><tr><td>se</td><td>gs</td><td>fk</td><td>ag</td><td>hg</td></tr></verification_matrix><gateway_address>geldwolf2.trispen.com</gateway_address><company>trispen</company><admin_email></admin_email></engine_status>

Kann ich nicht so wie oben auf das Element zugreifen? Was bedeutet diese Fehlermeldung genau? FInd im Google leider nix hilfreiches!

Gruss
Philipp

  1. Was bedeutet diese Fehlermeldung genau? FInd im Google leider nix hilfreiches!

    Achja fast vergessen. Wenn ich folgende Zeile in den Code einfuege:

    alert(http.responseXML.documentElement.firstChild.nodeValue);

    Erhalte ich als Fehlermeldung: XML Parsing Error: xml processing instruction not at start of external entity

    Danke fuer Tips
    Philipp

    1. Tag Philipp.

      XML Parsing Error: xml processing instruction not at start of external entity

      Da _muss_ noch irgendwas vor der XML-Deklaration stehen (wahrscheinlich ein Whitespace). Überprüfe dein Serverscript, denn der Fehler dürfte dort liegen.

      Siechfred

      1. Da _muss_ noch irgendwas vor der XML-Deklaration stehen (wahrscheinlich ein Whitespace). Überprüfe dein Serverscript, denn der Fehler dürfte dort liegen.

        Siechfred

        Das wars, super danke fuer deinen Tip!!

        printf("Content-type: text/xml\n\n%s", xmlresponse); und nicht
        printf("Content-type: text/xml\n\n %s", xmlresponse);

        1. Da _muss_ noch irgendwas vor der XML-Deklaration stehen (wahrscheinlich ein Whitespace). Überprüfe dein Serverscript, denn der Fehler dürfte dort liegen.

          printf("Content-type: text/xml\n\n%s", xmlresponse); und nicht
          printf("Content-type: text/xml\n\n %s", xmlresponse);

          http sagt \r\n um genau zu sein :-)
          printf("Content-type: text/xml\r\n%s", $xmlresponse);

          1. Hi,

            printf("Content-type: text/xml\n\n%s", xmlresponse); und nicht
            printf("Content-type: text/xml\n\n %s", xmlresponse);
            http sagt \r\n um genau zu sein :-)
            printf("Content-type: text/xml\r\n%s", $xmlresponse);

            Wenn schon, dann \r\n\r\n - denn nach dem letzten Header muß zweimal CR + LF kommen.

            In manchen Fällen (abhängig von Programmiersprache/Betriebssystem/...) wird \n aber automatisch zu CR + LF gewandelt.
            Besser ist also \x0d\x0a\x0d\x0a (hexadekadisch) bzw. \015\012\015\012 (oktal)

            • je nachdem, was die Programmiersprache als Escape-Sequenzen zuläßt.

            cu,
            Andreas

            --
            Warum nennt sich Andreas hier MudGuard?
            Schreinerei Waechter
            Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.