Gern stehe ich zur fachlichen Unterstützung in XML-Technologien, C#.NET, VisualBasic.NET und Java zur Verfügung. Sprechen Sie mich einfach an: Mail oder ☎ 0151 . 750 360 61


XML-Validierung: Wozu? / XML-Schema: Datenvalidierung mit C#.NET

XML-Schema: Datenvalidierung mit C#.NET

XML-Schema: Datenvalidierung mit C#.NET

➪ Die XML-Schema-Datenvalidierung eines XML-Dokuments kann mit leistungsfähigen Klassen in VisualBasic.NET durchgeführt werden.

Für einen einfachen Einstieg soll die folgende Logik dienen, die die genannten Namespaces System.Xml bzw. System.Xml.Schema einbezieht, und die durch den Kommandoaufruf mit den entsprechenden Parametern gestartet werden kann:

Der folgende Aufruf würde den Wert "Hugo" ergeben.


using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.OleDb;
using System.Xml.Serialization;
using System.Xml;
using System.Xml.Schema;
using System.IO;
namespace cscons_ADO_SchemaFromDB
{
    class Program
    {        
        /// <summary>
        /// Validiert ein XML-Dokument aufgrund eines XML-Schemas
        /// </summary>
        static void ReadSchema()
        {
            //Liest das Schema aus einem Dokument
            string xsdfile = @"Orte_Elemente.xsd";
            string xmlfile = @"Orte_Elemente.xml";
            XmlTextReader reader = new XmlTextReader(xsdfile);
            XmlSchema myschema = XmlSchema.Read(reader, ValidationCallback);
            // Schema-Ausgabe auf Console
            myschema.Write(Console.Out);
            // Reader-Konfiguration mit ReaderSettings
            XmlReaderSettings settings = new XmlReaderSettings();
            settings.Schemas.Add(myschema);
            settings.ValidationType = ValidationType.Schema;
            // Setze ValidationHandler
            settings.ValidationEventHandler += new ValidationEventHandler(ValidationCallback);
            XmlReader xreader = XmlReader.Create(xmlfile, settings);
            Console.WriteLine("\n\nStart Reader");
            while (xreader.Read()) {}
            reader.Close();
            Console.WriteLine("End Reader");
        }
        static void ValidationCallback(object sender, ValidationEventArgs args)
        {
            if (args.Severity == XmlSeverityType.Warning)
                Console.Write("WARNING: ");
            else if (args.Severity == XmlSeverityType.Error)
                Console.Write("ERROR: ");
            else Console.WriteLine("Heeeee");
            Console.WriteLine(args.Message);
        }
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            ReadSchema();
            Console.ReadLine();
        }
    }
}

wg / 1. Mai 2018



Fragen? Anmerkungen? Tipps?

Bitte nehmen Sie Kontakt zu mir auf.






Vielen Dank für Ihr Interesse an meiner Arbeit.


V.i.S.d.P.: Wilfried Grupe * Klus 6 * 37643 Negenborn

☎ 0151. 750 360 61 * eMail: info10@wilfried-grupe.de

www.wilfried-grupe.de/cs_XML_XSDValidating.html