thomas: kann das script richtig sein ??

hallo,

habe einen xml-string mit data=<mc><mp><a>ok</a></mp></mc> ( einige hier kennen mich vielleicht schon hier..:( ) von der einkaeufer.asp
bekommen, und prüfe jetzt, ob der string wohlgeformt also start- und endtags besitzt ( und er besitzt sie ja !! ). jedoch komme nach der
prüfung zu einkaeufer.asp zurück, müsste aber auf kunde.asp kommen.
die beatles sangen mal "help, i need somebody" ohne nen pc zu haben,
ich beginne zu üben !!

<%
dim xmldoc
dim data

set xmldoc = Server.CreateObject("Microsoft.XMLDOM")

data= request.form ( "data" )
xmldoc.load( "data" )

IF xmldoc.parseError.errorCode <> 0 THEN
   response.redirect "/einkaeufer.asp"
ELSE
   response.redirect "/kunde.asp"
END IF
%>

  1. Hallo,

    bist du sicher, das der ParseError nur entsteht, wenn die Tags nicht wohlgeformt sind? Eventuell muss das Dokument, um vollständig erfolgreich geparst zu werden, ja die komplette xml-basisstruktur aufweisen...

    wenn dem so ist, musst du diese mit übergeben, oder dir selber eine funktion schreiben, die per stringzerhackung auf wohlgeformtheit testet...

    Odium

  2. Hi, hallo

    grundsätzlich ist das schonmal die falsche Methode, bei Strings darfst du nicht .load nehmen - da versucht er eine Datei zu laden und beschwert sich darüber, das dein Data-String keine gültige Resource ist - sondern .loadXML.

    außerdem lädst du nicht "<mc><mp><a>ok</a></mp></mc>" sondern "data"

    data ist bei dir aber ne Variable, bzw. soll es sein, deswegen sind die Gänsefüßchen fehl am Platz

    und dann funktioniert es. :-)

    neben .errorCode gibt es noch weitere interessante Eigenschaften für einen ParseError:
    .Reason
    .srcText
    .filePos
    .linePos
    .line
    .url

    mit den Dingern kann man XML fehlern recht gut auf die Spur kommen.  der ganze Sellerabi mit <?xml ...?> ist nicht nötig.

    Tschau, tschüß,
    Frank