真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何使用xsd驗(yàn)證xml

這篇文章主要介紹如何使用xsd驗(yàn)證xml,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

創(chuàng)新互聯(lián)建站專(zhuān)業(yè)為企業(yè)提供遂昌網(wǎng)站建設(shè)、遂昌做網(wǎng)站、遂昌網(wǎng)站設(shè)計(jì)、遂昌網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、遂昌企業(yè)網(wǎng)站模板建站服務(wù),十余年遂昌做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

Xsd

   XML結(jié)構(gòu)定義 ( XML Schemas Definition )
   XML Schema 是DTD的替代品。XML Schema語(yǔ)言也就是XSD。
   XML Schema描述了XML文檔的結(jié)構(gòu)??梢杂靡粋€(gè)指定的XML Schema來(lái)驗(yàn)證某個(gè)XML文檔,以檢查該XML文檔是否符合其要求。
 文檔設(shè)計(jì)者可以通過(guò)XML Schema指定一個(gè)XML文檔所允許的 結(jié)構(gòu)和內(nèi)容,并可據(jù)此檢查一個(gè)XML文檔是否是有效的。XML Schema本身是一個(gè)XML文檔,它符合XML語(yǔ)法結(jié)構(gòu)。
 可以用通用的XML解析器解析它。
   一個(gè)XML Schema會(huì)定義:文檔中出現(xiàn)的元素、文檔中出現(xiàn)的屬性、子元素、子元素的數(shù)量、子元素的順序、元素是否為空、元素和屬性的數(shù)據(jù)類(lèi)型、元素或?qū)傩缘哪J(rèn)和固定值。

   XSD文件的后綴名為.xsd。
 
  在下面的代碼示例中,上面的架構(gòu)添加到 XmlReaderSettings 對(duì)象的 XmlSchemaSetSchemas 屬性中。 XmlReaderSettings 對(duì)象作為參數(shù)傳遞給驗(yàn)證上述 XML 文檔的 XmlReader 對(duì)象的 Create 方法。

  XmlReaderSettings 對(duì)象的 ValidationType 屬性設(shè)置為 Schema,強(qiáng)制通過(guò) XmlReader 對(duì)象的 Create 方法驗(yàn)證 XML 文檔。將 ValidationEventHandler 添加到 XmlReaderSettings 對(duì)象以處理 XML 文檔和架構(gòu)驗(yàn)證過(guò)程中發(fā)現(xiàn)的錯(cuò)誤所引發(fā)的任何 Warning 或 Error 事件。
 
下面是一個(gè)例子:

using System;
using System.Xml;
using System.Xml.Schema;
using System.IO;
using System.Xml.Serialization;
using System.Text;

public class XmlSchemaSetExample
{
    static void Main()
    {

        XmlReaderSettings booksSettings = new XmlReaderSettings();
        booksSettings.Schemas.Add("http://www.contoso.com/books", "contosoBooks.xsd");
        booksSettings.ValidationType = ValidationType.Schema;
        booksSettings.ValidationEventHandler += new ValidationEventHandler(booksSettingsValidationEventHandler);

        MemoryStream ms = new MemoryStream();//定義一個(gè)數(shù)據(jù)流對(duì)象

        XmlDocument doc = new XmlDocument();

        doc.Load("contosoBooks.xml");

        doc.Save(ms);

        ms.Position = 0; //修改指針的位置

        XmlReader books = XmlReader.Create(ms,booksSettings);


        while (books.Read())
        {  }
     }

    static void booksSettingsValidationEventHandler(object sender, ValidationEventArgs e)
    {
        if (e.Severity == XmlSeverityType.Warning)
        {
            Console.Write("WARNING: ");
            Console.WriteLine(e.Message);
            Console.Read();
            
        }
        else if (e.Severity == XmlSeverityType.Error)
        {
            Console.Write("ERROR: ");
            Console.WriteLine(e.Message);
            Console.Read();
        }
    }
}

contosoBooks.xsd



  
    
      
        
          
            
              
              
                
                  
                    
                    
                    
                  
                
              
              
            
            
            
            
          
        
      
    
  

contosoBooks.xml



  
    The Autobiography of Benjamin Franklin
    
      Benjamin
      Franklin
    
    8.99
  
  
    The Confidence Man
    
      Herman
      Melville
    
    11.99
  
  
    The Gorgias
    
      Plato
    
    9.99
  

以上是“如何使用xsd驗(yàn)證xml”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


本文題目:如何使用xsd驗(yàn)證xml
標(biāo)題URL:http://weahome.cn/article/gsiohe.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部