noobvb.net Geschrieben 23. Juni 2009 Geschrieben 23. Juni 2009 Hi Leute, steh heute irgendwie auf dem Schlauch. Ich möchte einen Returnwert in einer Messagebox ausgeben. Bekomme es aber irgendwie nicht hin. Ich habe folgende Funktion:Public Function ValidateXml(ByVal RawXml As String) As List(Of String) ErrorList = New List(Of String) If Me.Schemas.Count > 0 Then Dim ReaderSettings As New XmlReaderSettings() With ReaderSettings .ValidationType = ValidationType.Schema .ValidationFlags = XmlSchemaValidationFlags.ProcessSchemaLocation Or XmlSchemaValidationFlags.ReportValidationWarnings Or XmlSchemaValidationFlags.AllowXmlAttributes For Each SchemaPath As String In Me.Schemas .Schemas.Add(Nothing, XmlReader.Create(SchemaPath, Me.SchemaSettings)) Next AddHandler .ValidationEventHandler, SchemaValidation End With Using Reader As XmlReader = XmlReader.Create(New StreamReader(RawXml), ReaderSettings) '(New StringReader(RawXml), ReaderSettings) While Reader.Read() MsgBox(Reader.LocalName) MsgBox(Reader.Value) 'Lies das gesamte File und ruft die Validierungs Handler Subrutine auf, 'wenn ein Fehler gefunden wird. Auf diese Weise ist es möglich alle 'Fehler des XML-Files zu ermitteln, anstatt bei jedem Fehler zu stoppen. End While End Using End If Return ErrorList End Function diese befindet sich in der Klasse XMLValidator. Den Aufruf des Returnwerts in einer Messagebox habe ich folgendermaßen umgesetzt:MsgBox(openclass.ValidateXml(Pfad)) Kann mir jemand sagen, was ich falsch mache. Beste Grüße noobvb.net Zitieren
Klotzkopp Geschrieben 23. Juni 2009 Geschrieben 23. Juni 2009 Geht's auch ein wenig genauer als Bekomme es aber irgendwie nicht hin. ? Zitieren
noobvb.net Geschrieben 23. Juni 2009 Autor Geschrieben 23. Juni 2009 Hi Klotzkopp, versuche es mal genauer zu beschreiben. Wenn ich die Messagebox so verwende, wie ich sie gepostet hab, dann bekomme ich eine Fehlermeldung und zwar folgende: "Das Argument Prompt kann nicht in den Typ String umgewandelt werden." Und mein Problem ist jetzt, dass ich keine Ahnung habe, wie ich auf den Returnwert der Funktion ValidateXml zugreifen soll. Beste Grüße noobvb.net Zitieren
Klotzkopp Geschrieben 23. Juni 2009 Geschrieben 23. Juni 2009 Wenn ich die Messagebox so verwende, wie ich sie gepostet hab, dann bekomme ich eine Fehlermeldung und zwar folgende: "Das Argument Prompt kann nicht in den Typ String umgewandelt werden." Offenbar kann also eine Liste von Strings nicht automatisch in einen einzelnen String umgewandelt werden. Und mein Problem ist jetzt, dass ich keine Ahnung habe, wie ich auf den Returnwert der Funktion ValidateXml zugreifen soll. Indem du die Strings in der Liste einen nach dem anderen anzeigst? Zitieren
noobvb.net Geschrieben 23. Juni 2009 Autor Geschrieben 23. Juni 2009 Hi Klotzkopp, vielen Dank für deine Hilfe. Das war die Lösung. Hab mich nur mal wieder etwas doof angestellt. Gruß Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.