tutorials.de Buch-Aktion 02/2012
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
1739
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von C3000
    C3000 C3000 ist offline Mitglied Silber
    Registriert seit
    Mar 2007
    Beiträge
    52
    Hallo

    Ich mache seit 6 Tagen ein Praktikum und muss nun mit Javascript und PHP ähnliche Funktionen wie auf netvibes.com realisieren.

    Nun mein Problem.
    Ein PHP-Script holt mir von externen Servern XML- Dateien. Jedoch muss ich das durch einen Proxy machen. Somit sieht die PHP- Datei so aus:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
    <?php 
        $url = $_GET['url'];
        $proxy = "proxy.xxx.com";
        $port = 80;
        $fp = fsockopen($proxy, $port);
        fputs($fp, "GET $url HTTP/1.0\r\nHost: $proxy\r\n\r\n");
        header("Content-Type: text/html");
        while(!feof($fp)){
            $line = fgets($fp,4000);
            $i = $i + 1;
            if($i > 10){
                echo($line);
            }
        }
        fclose($fp);
    ?>

    Per responseText erhalte ich nun die XML-Datei.
    HIernach versuche ich den responseText in ein XMLDocument zu parsen. Dieses ist zwar vorhanden, aber es hat keinen Wert. Hier der Code:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
    var xml;
                        if (window.ActiveXObject) {
                            xml = new ActiveXObject("Microsoft.XMLDOM");
                            xml.loadXML(o.responseText);
                        } else{
                            xml = (new DOMParser()).parseFromString(o.responseText, "text/xml");
                        }
                        alert(xml);
                        var wurzel = xml.getElementsByTagName("xml")[0].firstChild.nodeValue;
                        if (wurzel == null) {
                            alert("Kein Wurzelelement gefunden");
                        }
                        else {
                            alert("Wurzelelement: " + wurzel.nodeName);
                        }

    Ich hoffe mir kann jemand helfen. Bin schon seit 3 Stunden auf der suche nach einer Lösung, aber ich finde einfach nichts.

    Danke schon mal im voraus.

    P.S. Ich habe vor 6 Tagen auch zum ersten mal Javascript geschrieben. Also bitte habt nachsicht.
    Geändert von C3000 (17.04.07 um 11:30 Uhr)
     

  2. #2
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Ich bin mir nicht 100% sicher, aber wenn ich mich nicht täusche, kann der IE per loadXML() nur gültige XML-Dokumente verarbeiten, und diese müssen ihm als document-Objekt vorliegen.

    responseText liefert im Gegensatzt zu responseXML jedoch kein Objekt, sondern einen String.
     

  3. #3
    Avatar von C3000
    C3000 C3000 ist offline Mitglied Silber
    Registriert seit
    Mar 2007
    Beiträge
    52
    Sers

    Hab das ganze nun so gelöst:

    Ich kürze mir mit subString die Header Infos aus dem String raus und parse den String in ein XML- Objekt.

    Code :
    1
    2
    3
    4
    5
    6
    
    if (window.ActiveXObject){
        var xml = new ActiveXObject("Microsoft.XMLDOM").loadXML(o.responseText);
    }
    else{
        var xml = new DOMParser().parseFromString(o.responseText,"text/xml");
    }

    Mfg
     

Ähnliche Themen

  1. [Javascript] Problem: kann kein Javascript - brauche Funktion
    Von matze93 im Forum Stellenangebote (unentgeltlich)
    Antworten: 5
    Letzter Beitrag: 14.04.09, 08:42
  2. Antworten: 3
    Letzter Beitrag: 09.10.08, 23:18
  3. Antworten: 6
    Letzter Beitrag: 01.04.07, 21:59
  4. Antworten: 0
    Letzter Beitrag: 01.09.06, 01:57
  5. Javascript kann nicht angezeigt werden, ist nicht installiert....?
    Von JohannesHaase im Forum Microsoft Windows
    Antworten: 13
    Letzter Beitrag: 16.05.04, 21:31