1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

XMLHttpRequest().responseXML

  • Steff100
  • 19. April 2011 um 16:32
  • Unerledigt
  • Steff100
    6
    Steff100
    Mitglied
    Punkte
    330
    Beiträge
    50
    • 19. April 2011 um 16:32
    • #1

    Ich versuche verzweifelt über einen XMLHttpRequest den Content als XML zu erhalten. Allerdings bekomm ich hierbei Null zurück. Die einzige Möglichkeit besteht in der Methode responseText, welches mir allerdings bei Abfragen nicht sehr zuvorkomment ist.

    Folgender Code:

    Code
    var request = null;
    request = new XMLHttpRequest();
    if (request) {
        request.open('GET', webside, true);
        request.setRequestHeader('Content', 'text/xml');
        request.onreadystatechange = function () {
            if (request.readyState == 4) {
                alert(request.responseXML); //NULL???
            }
        };
        request.send(null);
    }
    Alles anzeigen

    Den Request-Header auf "text/xml" zu setzen hab bei mir nichts gebracht. Das Ergebnis bleibt dasselbe.

    Kann hierbei jemand weiterhelfen?

  • Paulchen
    1
    Paulchen
    Gast
    • 19. April 2011 um 19:46
    • #2

    Magst ned irgendeine Javascript-Library (JQuery, ...) verwenden? Macht alles viel einfacher. :)

  • Blutsturz
    12
    Blutsturz
    Mitglied
    Reaktionen
    21
    Punkte
    1.351
    Beiträge
    261
    • 19. April 2011 um 20:06
    • #3

    schonmal z.b. firebug zum debuggen verwendet? reiter "scripts", script auswählen und einfach mal ein paar breakpoints setzen und schaun wo sich was tut oder eben auch nicht tut. bzw schau mal in die fehlerkonsole, bringt oft auch schon die erleuchtung (ist jetzt alles firefox bezogen, andere browser bringen sicherlich auch ähnliche werkzeuge mit bzw. sind durch entsprechende addons dazu in der lage). ansonsten kann ich paulchen nur beipflichten.

    //edit: sicher, dass du da keinen typo eingebaut hast:

    Code
    request.open('GET', websi[B][U]d[/U][/B]e, true)

    "There's no such thing as Computer Science-it's witchcraft", math department of MIT, 1961

    You are all children of a worthless god!

    2 Mal editiert, zuletzt von Blutsturz (19. April 2011 um 20:10)

  • Ringding
    11
    Ringding
    Mitglied
    Reaktionen
    12
    Punkte
    1.237
    Beiträge
    244
    • 19. April 2011 um 20:41
    • #4

    Vermutlich ist das XML nicht well formed, wenn du mit .responseText was bekommst, aber mit .responseXML nix.

  • sutupud
    13
    sutupud
    Mitglied
    Reaktionen
    59
    Punkte
    1.659
    Beiträge
    320
    • 20. April 2011 um 01:25
    • #5
    Zitat von Steff100


    Den Request-Header auf "text/xml" zu setzen hab bei mir nichts gebracht. Das Ergebnis bleibt dasselbe.

    logisch dass das nichts bringt. der request-header gibt ja auch den mime-type des requests an. was darauf zurückkommt ist eine ganz andere sache.
    probiers mal mit request.overrideMimeType("text/xml").
    trotzdem musst du darauf achten dass auch wirklich xml (oder xhtml) zurückkommt, einfach normales html als xml zu parsen geht nicht.

    "All through my life I've had this strange unaccountable feeling that something was going on in the world, something big, even sinister, and no one would tell me what it was."
    "No," said the old man, "that's just perfectly normal paranoia. Everyone in the Universe has that."

    😁😂😃😄😅😆😇😈😉😊😋😌😍😎😏😐😒😓😔😖😘😚😜😞😠😡😢😣😥😨😩😪😫😭😰😱😲😳😵😶😷

  • Steff100
    6
    Steff100
    Mitglied
    Punkte
    330
    Beiträge
    50
    • 21. April 2011 um 12:08
    • #6

    OK! Danke für die Ratschläge. Hab mit Firebug das Problem entdeckt.

    Problem ist, dass das HTML-Dokument nicht ganz valide ist und ihm ein </link> fehlt. Jetzt ist halt die Frage, wie ich dieses Problem umgehen kann, da ich die Seite selbst nicht beeinflussen kann. Gibt's da ne Möglichkeit Tags auszulesen, obwohl das Dokument nicht well formed ist??

  • davide
    23
    davide
    Mitglied
    Reaktionen
    110
    Punkte
    5.660
    Beiträge
    1.048
    • 21. April 2011 um 14:26
    • #7

    möglicherweise nach responseText() den fehlenden </link> tag einfügen, und danach erst als xml parsen?

    alles über regex auslesen ist wahrscheinlich noch umständlicher :)

    Sich berühren ist wie Afrika, fremd und kalt.

    http://www.penisland.net

    http://runtastic.com/

  • Steff100
    6
    Steff100
    Mitglied
    Punkte
    330
    Beiträge
    50
    • 21. April 2011 um 14:52
    • #8

    Das Parsen funzt leider nie. Mittlerweile probiere ich die Infos mit Regex auszulesen, allerdings draufzukommen, welche Befehle funzen und welche nicht lässt mich komplett verzweifeln.

    Edit:
    So, habs endlich geschafft. Regex-Befehle sind manchmal doch die letzte Rettung.

    Einmal editiert, zuletzt von Steff100 (21. April 2011 um 18:02)

  • Maximilian Rupp 27. Dezember 2024 um 00:26

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung