vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
XMLString lesen bzw. validieren ohne Datei anzulegen.. 
Autor: Jumula
Datum: 26.05.06 14:17

Hallo,
ich erzeuge in meinem Programm STrings, die XML enthalten.
Bisher habe ich solche Strings immer in eine Datei geschrieben und dann wieder über XMLReader fürs Validieren eingelesen. Dazu habe ich dem XMLReader in der Create-Methode den Pfad zu der Datei übergeben.

Jetzt möchte ich mir aber gerne das Speichern in einer Datei sparen. (1. um Speicher auf der Platte bzw. auf den Netzwerkpfad zu sparen und evtl könnte das ja auch eine Performanceverbesserung bringen...)
Die Methode Create des XMLReaders erlaubt ja auch die Eingabe eines IOStreams.
Ich habe dann gesehen,dass es den MemoryStream gibt, der die Daten im Arbeitsspeicher hält.
Leider bekomme ich bei dem ersten Aufruf des Validierens eine Fehlermeldung angezeigt: "Das Stammelement ist nicht vorhanden".

Könnte jemand mal über meinen Code schauen, ob ich den Stream korrekt verwende? Habe bisher damit noch nichts gemacht.
Danke schön!
Der Code funktioniert korrekt, wenn ich bei der Create-Methode einen Dateipfad angeben und in dessen Dateipfad der selbe Text steht wie in dem String hier.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
  System.EventArgs) Handles Button1.Click
        strXML = TextBox1.Text
        Dim mstream As New IO.MemoryStream()
        Dim stw As New IO.StreamWriter(mstream)
        Try
            stw.Write(strXML)
            stw.Flush()
 
            strvalidationErgebnis = ""
            Dim settings As XmlReaderSettings = New XmlReaderSettings
            settings.ValidationType = ValidationType.Schema
            settings.ValidationFlags = settings.ValidationFlags Or _
              XmlSchemaValidationFlags.ProcessSchemaLocation
            settings.ValidationFlags = settings.ValidationFlags Or _
            XmlSchemaValidationFlags.ReportValidationWarnings
            AddHandler settings.ValidationEventHandler, AddressOf _
            ValidationCallBack
 
            ' Create the XmlReader object.
            Dim reader As XmlReader = XmlReader.Create(mstream, settings)
            ' Parse the file. 
            While (reader.Read())
            End While
            MsgBox(strvalidationErgebnis)
            reader.Close()
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
 
    End Sub
    ' Display any warnings or errors.
    Private Sub ValidationCallBack(ByVal sender As Object, ByVal args As _
      ValidationEventArgs)
        If (args.Severity = XmlSeverityType.Warning) Then
            strValidationErgebnis += vbCrLf & "   Warning: Matching schema not" & _
              "found.  No validation occurred." + args.Message
        Else
            strValidationErgebnis += vbCrLf & "   Validation error: " + _
              args.Message
        End If
    End Sub

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
XMLString lesen bzw. validieren ohne Datei anzulegen..1.282Jumula26.05.06 14:17
Re: XMLString lesen bzw. validieren ohne Datei anzulegen..783Jumula26.05.06 14:18
Re: XMLString lesen bzw. validieren ohne Datei anzulegen..771ModeratorDaveS26.05.06 15:17
Re: XMLString lesen bzw. validieren ohne Datei anzulegen..757Jumula29.05.06 09:33
Re: XMLString lesen bzw. validieren ohne Datei anzulegen..772ModeratorDaveS29.05.06 09:53
Re: XMLString lesen bzw. validieren ohne Datei anzulegen..759Jumula29.05.06 10:06
Re: XMLString lesen bzw. validieren ohne Datei anzulegen..822ModeratorDaveS29.05.06 10:24
Re: XMLString lesen bzw. validieren ohne Datei anzulegen..774Jumula29.05.06 13:47

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel