Sandra: XML weiterverarbeiten (mit ASP)

Hallo zusammen,

ich arbeite so ziemlich das erste Mal mit XML, als bitte entschuldigt meine evt. dumme Frage.

Zu meinem Problem:
Ich bekomme (von extern) XML geliefert, das ich weiterverarbeite (mit ASP) und in meine Homepage einbaue. Im ersten Schritt wird mein XML in einen String umgewandelt (xml.responseText). Im so entstehenden String sind bestimmt Teile immer mit | getrennt (z.B. Stadt | München | Einwohner|...). Ich nutze dieses Zeichen, teile an der Stelle und baue mir ein Array zusammen, damit ich die einzelnen Strings später ansprechen kann. Soweit eigentlich auch kein Problem.

Nun bekomme ich aber XML, in dem Kommata enthalten sind. Mein String sollte später so aussehen: Stadt | München, Frankfurt | blabla|.... Hier scheint meine Lösung nicht mehr zu funktionieren. Kann mir jemand sagen warum und wie ich das Problem lösen kann?

Vielen Dank
Sandra

  1. fsgdsgdsdsg

    1. a sandra dove sei ?

  2. Hallo zusammen,

    vielleicht nochmal eine bessere Erklärung. Ich habe den Code leider nicht selbst erstellt, sondern bin nur für die Fehlersuche zuständig. Das erklärt vielleicht meine Schwierigkeiten bei der Problembeschreibung...

    Zu meinem Problem:

    Ich bekomme (von extern) XML geliefert, das ich weiterverarbeite (mit ASP) und in meine Homepage einbaue.

    Im ersten Schritt muss ich doch mein XML von der entsprechenden Seite holen. Dies realisiere ich mit dem objHTTP.open("GET", URL, false) und objHTTP.send. Mit objhttp.responsetext verarbeite ich das XML dann weiter. Soweit eigentlich auch kein Problem.

    Allerdings kann es vorkommen, dass Kommata im XML enthalten sind. Dann bin ich aufgeschmissen. Mein send funktioniert nicht.

    Wer kann mir helfen??

    Vielen Dank
    Sandra

    1. Hallo,

      vielleicht nochmal eine bessere Erklärung.

      war nicht wirklich besser.
      du hast den typischen "es geht nicht! hilft mir" syndrom.

      was ich nicht verstanden habe:
      wenn du xml bekommst, wie sieht deine xml struktur aus?

      »»Im ersten Schritt wird mein XML in einen String umgewandelt (xml.responseText). Im so entstehenden String sind bestimmt Teile immer mit | getrennt (z.B. Stadt | München | Einwohner|...).

      wozu wandelst du das um?

      Nun bekomme ich aber XML, in dem Kommata enthalten sind.

      wenn du xml bekommst spielt das eigentlich so gut wie überhaupt keine rolle.

      Dies realisiere ich mit dem objHTTP.open("GET", URL, false) und objHTTP.send. Mit objhttp.responsetext verarbeite ich das XML dann weiter. Soweit eigentlich auch kein Problem.

      Dann bin ich aufgeschmissen. Mein send funktioniert nicht.

      Da komme ich gar nicht mehr mit:
      holst du was, oder sendest du was ?

      alles in allem: es ist leider nicht zu versthene was du machst und was du eigentlich zu erreichen möchtest.

      grüße
      thomas

      1. Hallo Thomas,

        vielen Dank für deine Anwort.

        du hast den typischen "es geht nicht! hilft mir" syndrom.

        Sorry, aber wozu ist denn dieses Forum da??? Um sich gegenseitig auszutauschen und zu helfen. Da ich mir keine Erklärung hatte, in Selfhtml und bei Google nichts entsprechendes fand, suchte ich Hilfe... Was ist falsch daran?? Muss ich mich dafür enstchuldigen, Anfänger zu sein?!

        Naja, was soll's. Ich versuch's eben nochmal und hoffe, es Dir dieses mal deutlicher zu machen.

        Es geht darum, dass ich an einer bestimmten Stelle in meiner Homepage Inhalte einer anderen Seite anzeigen will. Z.B. Wetterdaten einer bestimmten Region. Die nötigen Wetterdaten hole ich mir per XML. Kannst Du noch folgen?

        In ASP soll das so funktionieren:

        ' --- Instantiieren des Objekts MSXML2.ServerXMLHTTP
        Set objHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP")

        ' --- Erstellen des Requests mit folgenden Parametern
        objHTTP.open "GET", URL, false

        ' --- Senden des Requests
        objHTTP.send

        ' --- Der gesamte Text der geladenen Seite steht jetzt in ResponseText

        ' --- und wird als Rückgabewert der Funktion GetURL zugewiesen.
        GetURL = objHTTP.ResponseText

        wenn du xml bekommst, wie sieht deine xml struktur aus?

        Das bekomme ich nun geliefert:
        Beispiel1: Wetter|Stadtname|Tag|15

        Nun bekomme ich aber XML, in dem Kommata enthalten sind.

        Ich verbessere mich. Wenn ich eigentlich sowas zurückkriegen sollte
        Beispiel2: Wetter|Stadtname1, Stadtname2, Stadtname3|Tag|15
        dann kommt es erst gar nicht bei mir an... (Timeout)

        wenn du xml bekommst spielt das eigentlich so gut wie überhaupt keine rolle.

        Wieso funktioniert dann Beispiel1 und Beispiel2 nicht mehr? Liegt es gar nicgt am Komma?

        alles in allem: es ist leider nicht zu versthene was du machst und was du eigentlich zu erreichen möchtest.

        Jetzt besser?

        grüße
        thomas

        Grüße Sandra

        1. Hallo Sandra,

          Es geht darum, dass ich an einer bestimmten Stelle in meiner Homepage Inhalte einer anderen Seite anzeigen will. Z.B. Wetterdaten einer bestimmten Region. Die nötigen Wetterdaten hole ich mir per XML. Kannst Du noch folgen?

          Na, bis hier ist es ja einfach... ;-)

          In ASP soll das so funktionieren:

          ' --- Instantiieren des Objekts MSXML2.ServerXMLHTTP
          Set objHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP")

          ' --- Erstellen des Requests mit folgenden Parametern
          objHTTP.open "GET", URL, false

          ' --- Senden des Requests
          objHTTP.send

          ' --- Der gesamte Text der geladenen Seite steht jetzt in ResponseText

          ' --- und wird als Rückgabewert der Funktion GetURL zugewiesen.
          GetURL = objHTTP.ResponseText

          wenn du xml bekommst, wie sieht deine xml struktur aus?
          Das bekomme ich nun geliefert:
          Beispiel1: Wetter|Stadtname|Tag|15

          Was ist denn daran XML, das ist einfach ein String ohne Markup

          Nun bekomme ich aber XML, in dem Kommata enthalten sind.
          Ich verbessere mich. Wenn ich eigentlich sowas zurückkriegen sollte
          Beispiel2: Wetter|Stadtname1, Stadtname2, Stadtname3|Tag|15
          dann kommt es erst gar nicht bei mir an... (Timeout)

          Wieso funktioniert dann Beispiel1 und Beispiel2 nicht mehr? Liegt es gar nicgt am Komma?

          Keine Ahnung, aber ein XML-Problem ist es nicht, da du gar kein XML zurück bekommst

          alles in allem: es ist leider nicht zu versthene was du machst und was du eigentlich zu erreichen möchtest.

          Jetzt besser?

          Hm....

          Gruß
          Franz

          1. Hallo Sandra,

            Es geht darum, dass ich an einer bestimmten Stelle in meiner Homepage Inhalte einer anderen Seite anzeigen will. Z.B. Wetterdaten einer bestimmten Region. Die nötigen Wetterdaten hole ich mir per XML. Kannst Du noch folgen?

            Na, bis hier ist es ja einfach... ;-)

            In ASP soll das so funktionieren:

            ' --- Instantiieren des Objekts MSXML2.ServerXMLHTTP
            Set objHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP")

            ' --- Erstellen des Requests mit folgenden Parametern
            objHTTP.open "GET", URL, false

            ' --- Senden des Requests
            objHTTP.send

            ' --- Der gesamte Text der geladenen Seite steht jetzt in ResponseText

            ' --- und wird als Rückgabewert der Funktion GetURL zugewiesen.
            GetURL = objHTTP.ResponseText

            wenn du xml bekommst, wie sieht deine xml struktur aus?
            Das bekomme ich nun geliefert:
            Beispiel1: Wetter|Stadtname|Tag|15

            Was ist denn daran XML, das ist einfach ein String ohne Markup

            Das hat mich ehrlich gesagt anfangs auch verwundert! :-)
            Allerdings ist es nicht mein Code, ich muss den Fehler nur finden. Wenns kein XML ist, wieso wied dann mit "MSXML2.ServerXMLHTTP" gearbeitet. Wie gesagt, ich bin ratlos!!

            Nun bekomme ich aber XML, in dem Kommata enthalten sind.
            Ich verbessere mich. Wenn ich eigentlich sowas zurückkriegen sollte
            Beispiel2: Wetter|Stadtname1, Stadtname2, Stadtname3|Tag|15
            dann kommt es erst gar nicht bei mir an... (Timeout)

            Wieso funktioniert dann Beispiel1 und Beispiel2 nicht mehr? Liegt es gar nicgt am Komma?

            Keine Ahnung, aber ein XML-Problem ist es nicht, da du gar kein XML zurück bekommst

            Hmmm, abgesehen davon verstehe ich immer noch nicht, warum ich im einen Fall etwas bekomme und im anderen Falle nichts...???

            alles in allem: es ist leider nicht zu versthene was du machst und was du eigentlich zu erreichen möchtest.

            Jetzt besser?

            Hm....

            Gruß
            Franz

            Gruß Sandra

        2. hallo,

          du hast den typischen "es geht nicht! hilft mir" syndrom.

          Sorry, aber wozu ist denn dieses Forum da???

          damit ist gemeint, dass du zwar (wort wörtlich) sagst "es geht nicht" aber dass du nicht sagst was nicht geht. und "geht nicht" ist leider bis heute keine gute problembeschreibung.

          Es geht darum, dass ich an einer bestimmten Stelle in meiner Homepage Inhalte einer anderen Seite anzeigen will. Z.B. Wetterdaten einer bestimmten Region. Die nötigen Wetterdaten hole ich mir per XML. Kannst Du noch folgen?

          so weit kommt meiner einer mit.

          In ASP soll das so funktionieren:

          ' --- Instantiieren des Objekts MSXML2.ServerXMLHTTP
          Set objHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP")

          vielleicht hilft die folgendes:

          http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk30/htm/xmobjxmldomserverxmlhttp_security.asp

          <%@language=Jscript%>
          <%
             var objSrvHTTP;
             objSrvHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP");
             objSrvHTTP.open ("GET","http://someotherserver/secure.asp",false, _
                                 "testuser", "testpassword";
             objSrvHTTP.send ();
             Response.ContentType = "text/xml";
             Response.Write (objSrvHTTP.responseXML.xml);
          %>

          ' --- Der gesamte Text der geladenen Seite steht jetzt in ResponseText

          wenn du xml bekommst, wie sieht deine xml struktur aus?
          Das bekomme ich nun geliefert:
          Beispiel1: Wetter|Stadtname|Tag|15

          wie Franz auch schon sagte: das ist kein XML

          wenn du xml bekommst spielt das eigentlich so gut wie überhaupt keine rolle.
          Wieso funktioniert dann Beispiel1 und Beispiel2 nicht mehr? Liegt es gar nicgt am Komma?

          weil es sich nciht um XML handelt. ich weiss nicht wie du den string weiter verarbeitest, es kann sein, dass komma in deinem script einfach die anweisung beendet ...
          ich kenne mich mit asp nicht aus, also kann ich dir nicht sagen was dein scipt macht, aber was wir jetzt wissen ist, dass du keine xml bzurückbekommst.

          Jetzt besser?

          ja. es war besser. ;-)

          grüße
          thomas