Jak ověřit dokument XML pomocí DTD, XDR nebo XSD v aplikaci Visual C#.NET

Překlady článku Překlady článku
ID článku: 307379 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Tento článek ukazuje, jak použít typ dokumentu Definice (DTD), schéma XDR (Microsoft XML Data snížena) nebo schématu XML Definice jazyka (XSD) schématu do jazyka XML (Extensible Markup) dokument. Tento článek také popisuje, jak použít Třídy XmlValidatingReader Ověřit dokument XML proti zadané gramatiky, třída jak používat stejně jako Kolekci XmlSchemaCollection třídu schémat mezipaměti v paměti s cílem optimalizovat XML ověření.

Dokumenty XML obsahovat prvky a atributy. Jejich umožňují pružné a výkonné výměnu dat mezi aplikacemi a organizace. Určení přípustných struktura a obsah XML dokument, můžete napsat DTD, schéma XDR nebo schématu XSD. Jsou schémata XSD upřednostňovaný způsob určení XML grammars Microsoft.Rozhraní .NET Framework ale DTD a XDR schémata jsou také podporovány.

Požadavky

Tento článek předpokládá, že jste obeznámeni s následující témata:
  • Microsoft Visual C#.NET nebo Microsoft Visual Basic.NET Syntaxe
  • Koncepce XML, včetně problémů týkajících se ověření

Vytvořit dokument XML

  1. Spusťte aplikaci Visual Studio.NET.
  2. Vytvořte nový soubor XML v místním počítači.
  3. Přidat do dokumentu XML představují následující údaje produkt v katalogu:
    <Product ProductID="123">
       <ProductName>Rugby jersey</ProductName>
    </Product>
    					
  4. Uložit soubor jako Product.xml v nové složce s názvem C:\MyFolder.

Pomocí DTD

Vytvořit DTD a propojit dokument XML

  1. V aplikaci Visual Studio.NET, vytvářet prázdné textové soubor.
  2. Přidejte následující deklarace DTD souboru k popisu gramatiky v dokumentu XML:
    <!ELEMENT Product (ProductName)>
    <!ATTLIST Product ProductID CDATA #REQUIRED>
    <!ELEMENT ProductName (#PCDATA)>
    					
  3. Uložte soubor jako Product.dtd v C:\MyFolder adresář.
  4. Product.xml otevřete v aplikaci Visual Studio.NET.
  5. Přidejte následující DOCTYPE prohlášení k hornímu okraji Product.xml propojit dokument XML soubor DTD:
    <?xml version="1.0"?>
    <!DOCTYPE Product SYSTEM "Product.dtd">
    					
  6. Uložit změněný dokument XML jako ProductWithDTD.xml.

Ověřit dokument XML pomocí DTD

  1. V aplikaci Visual Studio.NETTO, vytvoření nové Visual C# konzoly Aplikace project s názvem ValidateXml.
  2. Přidejte dvě použití příkazy na začátek modulu Class1.cs takto:
    using System.Xml;        // for XmlTextReader and XmlValidatingReader
    using System.Xml.Schema; // for XmlSchemaCollection (which is used later)
    					
  3. V modulu Class1.cs deklarovat booleovské proměnné s názvem isValid Před zahájením Hlavní Metoda takto:
    private static bool isValid = true;      // If a validation error occurs,
                                             // set this flag to false in the
                                             // validation event handler. 
  4. Vytvoření XmlTextReader objekt číst z textového souboru v dokumentu XML Hlavní Metoda a potom vytvořit Třídy XmlValidatingReader Tato data XML ověřit takto:
    XmlTextReader r = new XmlTextReader("C:\\MyFolder\\ProductWithDTD.xml");
    XmlValidatingReader v = new XmlValidatingReader(r);
    					
  5. Na ValidationType Vlastnost Třídy XmlValidatingReader objekt označuje typ ověření, který je vyžadován)DTD, XDR, nebo Schéma). Nastavte tuto vlastnost na DTD takto:
    v.ValidationType = ValidationType.DTD;
    					
  6. Při výskytu chyby ověření, ověření čtenáře vygeneruje událost ověření. Přidejte následující kód ověření registrace obslužné rutiny události (budete implementovat MyValidationEventHandler Metoda v kroku 8):
    v.ValidationEventHandler += 
       new ValidationEventHandler(MyValidationEventHandler);
    					
  7. Přidejte následující kód přečíst a ověřit XML dokument. Při výskytu chyby ověření, MyValidationEventHandler nazývá adresa došlo k chybě. Tento způsob nastaví isValid na hodnotu false (viz krok 8). Můžete zkontrolovat stav isValid Po ověření, zda dokument není platný nebo je neplatný.
    while (v.Read())
    {
       // Can add code here to process the content.
    }
    v.Close();
    
    // Check whether the document is valid or invalid.
    if (isValid)
       Console.WriteLine("Document is valid");
    else
       Console.WriteLine("Document is invalid");
    					
  8. Zapsat MyValidationEventHandler Metoda po Hlavní Metoda takto:
    public static void MyValidationEventHandler(object sender, 
                                                ValidationEventArgs args) 
    {
       isValid = false;
       Console.WriteLine("Validation event\n" + args.Message);
    }
    					
  9. Vytvoření a spuštění aplikace. Aplikace by měla. zpráva, že je platný dokument XML.
  10. V aplikaci Visual Studio.NET, změna ProductWithDTD.xml na potvrzena (například odstranit "<productname>Rugby Jersey</productname>"element).
  11. Spusťte aplikaci znovu. Měli byste obdržet následující chybová zpráva:
    Ověření události
    Prvek "Výrobek" má neplatný obsah. Očekávané "ProductName."
    Došlo k chybě File:///C:/MyFolder/ProductWithDTD.XML(4, 5).
    Dokument je neplatný

Pomocí schématu XDR

Vytvořit schéma XDR a propojit dokument XML

  1. V aplikaci Visual Studio.NET, vytvářet prázdné textové soubor.
  2. Do souboru přidat následující definice schéma XDR Zadejte popis gramatiky v dokumentu XML:
    <?xml version="1.0"?>
    <Schema name="ProductSchema" 
            xmlns="urn:schemas-microsoft-com:xml-data"
            xmlns:dt="urn:schemas-microsoft-com:datatypes">
    
       <ElementType name="Product" content="eltOnly">
          <attribute type="ProductID" required="yes"/>
          <element type="ProductName"/>
       </ElementType>
    
       <AttributeType name="ProductID" dt:type="int"/>
       <ElementType name="ProductName" dt:type="string"/>
    </Schema>
    					
  3. Uložte soubor jako Product.xdr v C:\MyFolder adresář.
  4. Otevřete původní soubor Product.xml a propojit ji XDR schéma takto:
    <?xml version="1.0"?>
    <Product ProductID="123" xmlns="x-schema:Product.xdr"> 
       <ProductName>Rugby jersey</ProductName>
    </Product>
    					
  5. Uložit změněný dokument XML jako ProductWithXDR.xml.

Použít schéma XDR ověřit dokument XML

  1. Upravte aplikaci tak, aby XmlTextReader načte ProductWithXDR.xml takto:
    XmlTextReader r = new XmlTextReader("C:\\MyFolder\\ProductWithXDR.xml");
    					
  2. Nastavit ValidationType k XDR tak, aby čtenář ověřování provádí XDR ověření:
    v.ValidationType = ValidationType.XDR;
    					
  3. Vytvoření a spuštění aplikace. Aplikace by měla. zpráva, že je platný dokument XML.
  4. Změňte ProductWithXDR.xml na potvrzena.
  5. Vytvořit a spustit aplikaci znovu. Byste měli obdržet Chyba ověření.

Pomocí schématu XSD

Vytvoření schématu XSD a odkaz na dokument XML

  1. V aplikaci Visual Studio.NET, vytvářet prázdné textové soubor.
  2. Do souboru přidat následující definice schématu XSD Zadejte popis gramatiky v dokumentu XML:
    <?xml version="1.0"?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
       <xsd:element name="Product">
          <xsd:complexType>
             <xsd:sequence>
                <xsd:element name="ProductName" type="xsd:string"/>
             </xsd:sequence>
             <xsd:attribute name="ProductID" use="required" type="xsd:int"/>
          </xsd:complexType>
       </xsd:element>
    </xsd:schema>
    					
  3. Uložte soubor jako Product.xsd v C:\MyFolder adresář.
  4. Otevřete původní Product.xml a propojit ji XSD schéma takto:
    <?xml version="1.0"?>
    <Product ProductID="123" 
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:noNamespaceSchemaLocation="Product.xsd">
       <ProductName>Rugby jersey</ProductName>
    </Product>
    					
  5. Uložit změněný dokument XML jako ProductWithXSD.xml.

Pomocí schématu XSD pro ověření dokumentu XML

  1. Upravte aplikaci tak, aby XmlTextReader načte ProductWithXSD.xml takto:
    XmlTextReader r = new XmlTextReader("C:\\MyFolder\\ProductWithXSD.xml");
    					
  2. Nastavit ValidationType k Schéma tak, aby čtenář ověřování provádí ověření schématu XSD:
    v.ValidationType = ValidationType.Schema;
    					
  3. Vytvořit a spustit aplikaci, pomocí schématu XSD Ověřte dokument XML.

Použití oborů názvů schématu XSD

  1. V aplikaci Visual Studio.NET, otevřít ProductWithXSD.xml.
  2. Deklarovat výchozí obor názvů název URN: MyNamespace v dokumentu. Kromě toho změnit odkaz XSD tak že Určuje schéma XSD pro ověření obsahu v tomto oboru názvů:
    <?xml version="1.0"?>
    <Product ProductID="123" 
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xmlns="urn:MyNamespace"
             xsi:schemaLocation="urn:MyNamespace Product.xsd">
       <ProductName>Rugby jersey</ProductName>
    </Product>
    					
  3. Uložte změny do ProductWithXSD.xml.
  4. Otevřete Product.xsd. Změnit počáteční značky <xsd:schema> takto tak, že platí schéma pro obor názvů<b00></b00></xsd:schema>název URN: MyNamespace:
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                targetNamespace="urn:MyNamespace"
                elementFormDefault="qualified">
    					
  5. Uložte změny do Product.xsd.
  6. Vytvořit a spustit aplikaci, pomocí schématu XSD Ověřte dokument XML.

Obory názvů v mezipaměti

  1. V aplikaci Visual Studio.NET, otevření modulu Class1.cs. Vytvoření Kolekci XmlSchemaCollection objekt na začátku Hlavní Metoda takto:
    XmlSchemaCollection cache = new XmlSchemaCollection();
    					
  2. Na Kolekci XmlSchemaCollection objekt umožňuje schémata mezipaměti v paměti lepší výkon. Každé schéma je přidružen jiný obor názvů. Přidat Následující kód do mezipaměti Product.xsd:
    cache.Add("urn:MyNamespace", "C:\\MyFolder\\Product.xsd");
    					
  3. Přidejte příkaz po kód, který vytváříTřídy XmlValidatingReader objekt, který chcete přidat do mezipaměti schématu Třídy XmlValidatingReader tak, aby čtenář pomocí schémat v paměti:
    v.Schemas.Add(cache);
    					

Ověřte, zda funguje

  1. Vytvořte a spusťte aplikaci.
  2. Ověřte, že stále ověřena dokumentu XML Schéma XSD.
  3. Změňte ProductWithXSD.xml na potvrzena.
  4. Zkontrolujte, zda aplikace rozpozná tyto ověření chyby.

Vlastnosti

ID článku: 307379 - Poslední aktualizace: 18. května 2011 - Revize: 5.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft .NET Framework 1.1
  • Microsoft .NET Framework 1.0
Klíčová slova: 
kbhowtomaster kbmt KB307379 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:307379

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com