Ako overenie dokumentu XML pomocou DTD, XDR alebo XSD v Visual C#.NET

Preklady článku Preklady článku
ID článku: 307379 - Zobraziť produkty, ktorých sa tento článok týka.
Rozbaliť všetko | Zbaliť všetko

Na tejto stránke

SUHRN

Tento článok ukazuje ako uplatniť typ dokumentu Definícia (DTD), Microsoft údajov XML znížiť XDR () schémy alebo schémy XML Definície jazyka (XSD) schéma na Extensible Markup Language (XML) dokument. Tento článok tiež popisuje použitie XmlValidatingReader triedy na overenie dokumentu XML proti špecifikované gramatiku, rovnako ako spôsob použitia XmlSchemaCollection triedy vyrovnávaciu pamäť schémy v pamäti na optimalizáciu XML validácie.

XML dokumenty obsahujú prvkov a atribútov. Ich poskytujú flexibilný a výkonný spôsob výmeny údajov medzi aplikáciami a organizácie. Ak chcete určiť prípustný štruktúra a obsah XML dokument, môžete napísať DTD, XDR schémy alebo schémy XSD. XSD schémy sú preferovanou metódou na určenie gramatických pravidiel XML v programe Microsoft.NET Framework, ale DTD a XDR schémy sú tiež podporované.

Požiadavky

Tento článok predpokladá, že ste oboznámení s nasledujúce témy:
  • Microsoft Visual C#.NET alebo Microsoft Visual Basic.NET Syntax
  • XML pojmy, vrátane validácie otázky

Vytvorenie dokumentu XML

  1. Spustiť Visual Studio.NET.
  2. Vytvoriť nový súbor XML na lokálnom počítači.
  3. Pridať tieto údaje do dokumentu XML zastupovať produkt v katalógu:
    <Product ProductID="123">
       <ProductName>Rugby jersey</ProductName>
    </Product>
    					
  4. Uložiť súbor ako Product.xml v novom priečinku s názvom C:\MyFolder.

Pomocou DTD

Vytvoriť DTD a prepojiť dokument XML

  1. V Visual Studio.ČISTÁ, vytvoriť prázdny text súbor.
  2. Pridať nasledujúce DTD vyhlásenia do súboru na opísanie gramatiky dokumentu XML:
    <!ELEMENT Product (ProductName)>
    <!ATTLIST Product ProductID CDATA #REQUIRED>
    <!ELEMENT ProductName (#PCDATA)>
    					
  3. Uložte súbor ako Product.dtd v C:\MyFolder adresár.
  4. Otvoriť Product.xml v Visual Studio.NET.
  5. Doplní sa nasledujúce DOCTYPE vyhlásenie v hornej časti Product.xml prepojiť dokument XML DTD súbor:
    <?xml version="1.0"?>
    <!DOCTYPE Product SYSTEM "Product.dtd">
    					
  6. Uložte upravený dokument XML ako ProductWithDTD.xml.

Používa sa na overenie dokumentu XML DTD

  1. V Visual Studio.ČISTÁ, vytvoriť nové Visual C# konzolu Aplikácie projektu s názvom ValidateXml.
  2. Pridajte dva pomocou vyhlásenia, ktoré na začiatku Class1.cs takto:
    using System.Xml;        // for XmlTextReader and XmlValidatingReader
    using System.Xml.Schema; // for XmlSchemaCollection (which is used later)
    					
  3. V Class1.cs, vyhlásiť boolovská premennej s názvom isValid pred začatím Hlavné metóda takto:
    private static bool isValid = true;      // If a validation error occurs,
                                             // set this flag to false in the
                                             // validation event handler. 
  4. Vytvoriť XmlTextReader objekt čítať dokument XML z textového súboru v Hlavné metóda, a potom vytvorte XmlValidatingReader overiť údaje XML nasledovne:
    XmlTextReader r = new XmlTextReader("C:\\MyFolder\\ProductWithDTD.xml");
    XmlValidatingReader v = new XmlValidatingReader(r);
    					
  5. The ValidationType Vlastnosť XmlValidatingReader objekt označuje typ overenia, ktoré je požadované (DTD, XDR, alebo Schéma). Táto vlastnosť nastaví na DTD takto:
    v.ValidationType = ValidationType.DTD;
    					
  6. Ak dôjde k akýmkoľvek chybám validácie, potvrdzovanie platnosti čitateľa generuje validácie udalosť. Pridať nasledujúci kód do registra potvrdenie obsluhy udalostí (bude implementovať MyValidationEventHandler metóda v kroku 8):
    v.ValidationEventHandler += 
       new ValidationEventHandler(MyValidationEventHandler);
    					
  7. Pridajte nasledujúci kód prečítať a overiť XML dokument. Ak dôjde k akýmkoľvek chybám validácie, MyValidationEventHandler sa nazýva riešiť chyby. Touto metódou sa stanovuje isValid na falošné (pozri Krok 8). Môžete skontrolovať stav isValid po overení, či doklad je platný alebo 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. Písať MyValidationEventHandler metóda po Hlavné metóda takto:
    public static void MyValidationEventHandler(object sender, 
                                                ValidationEventArgs args) 
    {
       isValid = false;
       Console.WriteLine("Validation event\n" + args.Message);
    }
    					
  9. Vybudovať a spustenie aplikácie. Uplatňovanie by správa, že dokument XML je platná.
  10. V Visual Studio.ČISTÁ, upraviť ProductWithDTD.xml na vyvrátiť to (napríklad odstrániť "<ProductName>Rugby Jersey</ProductName>"prvok).
  11. Spustite aplikáciu znovu. Dostanete takto chybové hlásenie:
    Validácia udalosti
    Prvok "Produktu" má neplatný obsah. Očakávané "ProductName".
    Vyskytla sa chyba pri file:///C:/MyFolder/ProductWithDTD.XML(4, 5).
    Dokument je neplatný

Pomocou schéme XDR

Vytvoriť XDR schémy a prepojiť dokument XML

  1. V Visual Studio.ČISTÁ, vytvoriť prázdny text súbor.
  2. Pridať nasledujúce definície schém XDR do súboru, aby Popíšte gramatiky 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 súbor ako Product.xdr v C:\MyFolder adresár.
  4. Otvorte pôvodný súbor Product.xml a prepojiť ho XDR schéma takto:
    <?xml version="1.0"?>
    <Product ProductID="123" xmlns="x-schema:Product.xdr"> 
       <ProductName>Rugby jersey</ProductName>
    </Product>
    					
  5. Uložte upravený dokument XML ako ProductWithXDR.xml.

Použitie XDR schéma na overenie dokumentu XML

  1. Upraviť vaše aplikácie tak, že XmlTextReader načíta ProductWithXDR.xml takto:
    XmlTextReader r = new XmlTextReader("C:\\MyFolder\\ProductWithXDR.xml");
    					
  2. Nastaviť ValidationType na XDR tak, aby sa potvrdzovanie platnosti čitateľ vykonáva XDR overenia:
    v.ValidationType = ValidationType.XDR;
    					
  3. Vybudovať a spustenie aplikácie. Uplatňovanie by správa, že dokument XML je platná.
  4. Upraviť ProductWithXDR.xml na vyvrátiť to.
  5. Vybudovať a spustiť aplikáciu znovu. Dostanete chyba overenia platnosti.

Pomocou schéme XSD

Vytvoriť schéme XSD a prepojiť dokument XML

  1. V Visual Studio.ČISTÁ, vytvoriť prázdny text súbor.
  2. Pridať nasledujúce definície schém XSD na súbor na Popíšte gramatiky 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 súbor ako Product.xsd v C:\MyFolder adresár.
  4. Otvorte pôvodný Product.xml a prepojiť ho 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žte upravený dokument XML ako ProductWithXSD.xml.

Použitie XSD schéma na overenie dokumentu XML

  1. Upraviť vaše aplikácie tak, že XmlTextReader načíta ProductWithXSD.xml takto:
    XmlTextReader r = new XmlTextReader("C:\\MyFolder\\ProductWithXSD.xml");
    					
  2. Nastaviť ValidationType na Schéma tak, aby sa potvrdzovanie platnosti čitateľ vykoná overenie schém XSD:
    v.ValidationType = ValidationType.Schema;
    					
  3. Vybudovať a spustenie aplikácie používať XSD schéme pre overiť dokument XML.

Použite priestory názvov v schéme XSD

  1. V Visual Studio.ČISTÝ, open ProductWithXSD.xml.
  2. Vyhlásiť predvolený priestor názvov urn: MyNamespace v dokumente. Okrem toho zmeniť XSD prepojenie tak že Určuje schéme XSD overiť obsah do tohto priestoru názvov:
    <?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žiť zmeny, ktoré ProductWithXSD.xml.
  4. Otvoriť Product.xsd. Zmeniť tag Štart <xsd:schema> takto tak, že schéma sa vzťahuje na priestor názvov<b00> </b00> </xsd:schema>urn: MyNamespace:
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                targetNamespace="urn:MyNamespace"
                elementFormDefault="qualified">
    					
  5. Uložiť zmeny, ktoré Product.xsd.
  6. Vybudovať a spustenie aplikácie používať XSD schéme pre overiť dokument XML.

Priestory názvov vyrovnávacej pamäte

  1. V Visual Studio.ČISTÝ, open Class1.cs. Vytvoriť XmlSchemaCollection objekt na začiatku Hlavné metóda takto:
    XmlSchemaCollection cache = new XmlSchemaCollection();
    					
  2. V XmlSchemaCollection objekt vám umožňuje vyrovnávaciu pamäť schémy v pamäti pre zlepšené výkon. Každá schéma je priradený iný priestor názvov. Pridať nasledujúci kód do vyrovnávacej pamäte Product.xsd:
    cache.Add("urn:MyNamespace", "C:\\MyFolder\\Product.xsd");
    					
  3. Pridať nasledovné prehlásenie po kód, ktorý vytváraXmlValidatingReader objekt pridať schému cache XmlValidatingReader tak, že čitateľ môžete použiť v pamäti schémy:
    v.Schemas.Add(cache);
    					

Overiť, že to funguje

  1. Vybudovať a potom spustiť aplikáciu.
  2. Overenie, že dokument XML je stále validovanú proti XSD schémy.
  3. Upraviť ProductWithXSD.xml vyvrátiť to.
  4. Overiť, že aplikácia zistí tieto validácie chyby.

Vlastnosti

ID článku: 307379 - Posledná kontrola: 31. októbra 2011 - Revízia: 2.0
Informácie v tomto článku sa týkajú nasledujúcich produktov:
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft .NET Framework 1.1
  • Microsoft .NET Framework 1.0
Kľúčové slová: 
kbhowtomaster kbmt KB307379 KbMtsk
Strojovo preložené
DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.
Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem:307379

Odošlite odozvu

 

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