ProgramatorCZ  |   Diskusní fórum  |   ASMDprojekt  |   Vtipy  |   JavaScript
Spolupracujeme:   WebGuru  |   Komplikátor  |   MinaSite Přidat k oblíbeným položkám  |   Nastavit jako výchozí stránku
Časopis
Hlavní stránka
Assembler
C,C++
Delphi
DOTNET
Flash
HTML
Java
JavaScript
Knihy
O Internetu
Pascal
PHP
Pro. programátor
Programy
Python
Tiskové zprávy

Projekty

JScript Planet
ProProjekty

Služby

Monitoring

Informace
Redakce
O časopisu
Odkazy
Nový redaktor


ISSN 1213-7359

Šéfredaktor:
Jan Sova

Zástupci šéfredaktora
Frerenzy Dawid
Krásenský David

Šéfredaktoři rubrik
Michal Chalupník
Formánek Jiří
Pavel Aleš
Sojka Zdeněk
Petr Rympler

Administrátor
Jan Sova

Naše ikonka
MinaSite
Komplikátorovy Stránky
TOPlist
GALACTICA

Časopis používá redakční systém Sova-Press.



Práce s XML v C# (5.) - ověřování dokumentu pomocí třídy XmlValidatingReader v rubrice DOTNET

V dnešním závěrečném dílu seriálu se naučíme ověřovat správnost XML dokumentů.

Třída XmlValidatingReader je odvozena od třídy XmlTextReader. Přidává schopnost ověřovat dokumenty XML během jejich čtení, podporuje schémata DTD, XSD a XDR. Třída nepřijímá jako vstup ani název souboru, ani url, je však možno názvem souboru (url adresou) inicializovat objekt XmlTextReader a obalit kolem něj instanci třídy XmlValidatingReader. Platnost XML dokumentu ověříme postupným procházením všech uzlů. Jestliže XML neodpovídá zadanému schématu, spustí se událost ValidationEventHandler.

    Nejdůležitější vlastnosti třídy XmlValidatingReader:
  • Schemas – schéma (schémata), kterým je dokument ověřován,
  • ValidationType – typ schématu, výchozí hodnota je Auto, což dovoluje určit typ z dokumentu.

Příklad: Načtěte soubor hraciSchema.xml a ověřte ho podle schématu hraciSchema.xsd

Inicializace objektu XmlValidatingReader:
XmlTextReader textReader = new XmlTextReader(sXmlNazevSouboru);
textReader.WhitespaceHandling = WhitespaceHandling.None;
XmlValidatingReader validatingReader =
                          new XmlValidatingReader(textReader);
validatingReader.Schemas.Add(sJmennyProstor, sNazevSouboruSchematu);

Validace souboru:
// Nastavení validačního handleru
validatingReader.ValidationEventHandler +=
                          new ValidationEventHandler(chybaValidace);

// Čtení xmlDat
bool bRadek;
this.bJeValidni = true;
while (bRadek = this.xml.Read())
{
   // jednotlivé řádky XML se při čtení automaticky validují, žádný další
   // kód není třeba

}

if (this.bJeValidni)
   Console.WriteLine("XML je validní");
else
   Console.WriteLine("XML není validní");

//Zavření readeru
validatingReader.Close();

Validační handler:
private void chybaValidace (object sender, ValidationEventArgs args)
{
   Console.WriteLine("\r\n\tChyba validace: " + args.Message);
   this.bJeValidni = false;
}

Kompletní zdrojové texty příkladu je možno stáhnout zde.

Autor: Anna Rývová e-mail: anna.ryvova@volny.cz web:

Příspěvky ke článku

Ke článku nejsou komentáře
Přidat komentář

Poslední ze stejné rubriky

Práce s událostmi v .NET Framework.
Práce v .NET Framework - Zástupci
Práce s XML v C# (4.) - třídy XmlDocument a dotazy jazyka XPath
Práce s XML v C# (3.) - třída XmlTextWriter
Práce s XML v C# (2.) - třída XmlTextReader

Funkce ke článku
Přidat komentář

Nejnovější články
Práce s událostmi v .NET Framework. [18094]
Nová soutěž na 3D Contestu CZ [13683]
Práce v .NET Framework - Zástupci [15997]
Práce s XML v C# (5.) - ověřování dokumentu pomocí třídy XmlValidatingReader [14049]
Práce s XML v C# (4.) - třídy XmlDocument a dotazy jazyka XPath [19471]


O článku
Datum: 24.02.2004
Rubrika: DOTNET
Čtenářů: 14049
Autor: Anna Rývová

Hodnocení článku:
Znamka: 2.84
Počet známek: 3291
[1] [2] [3] [4] [5]

 


(c) Systém Jan Sova, Design David Krásenský a Jan Sova
Se svými dotazy či problémy se obracejte na diskusní fórum.
Časopis je součástí projektu Programator