我需要在页面放一个按钮,当点这个按钮时,就在客户端对XML进行验证(validation).将数据下载到DOM中,然后对XML和XSL的语法进行验证.

解决方案 »

  1.   

    给你个例子吧
    用 XmlValidatingReader 根据 DTD 进行验证下面概括了要验证的输入文件 HeadCount.xml 的内容。<!DOCTYPE HeadCount SYSTEM "HeadCount.dtd">
    <HeadCount>
      <Name First="Waldo" Last="Pepper">
        <Name First="Salt" Last="Pepper" Relation="spouse"/>
        <Name First="Red" Last="Pepper" Relation="child"/>
      </Name>
      <Name First="&MyFirst;" Last="&MyLast;">
        <Name First="Sharon" Last="&MyLast;" Relation="spouse"/>
        <Name First="Morgan" Last="&MyLast;" Relation="child"/>
        <Name First="Shelby" Last="&MyLast;" Relation="child"/>
      </Name>
    </HeadCount>下面概括了作为验证依据的外部 DTD 文件 HeadCount.dtd 的内容。<!ELEMENT HeadCount (Name)*>
    <!ELEMENT Name (Name)*>
    <!ATTLIST Name First CDATA #REQUIRED>
    <!ATTLIST Name Last CDATA #REQUIRED>
    <!ATTLIST Name Relation (self | spouse | child) "self">
    <!ENTITY MyFirst "Jeff">
    <!ENTITY MyLast "Smith">
    using System;
    using System.IO;
    using System.Xml;
    using System.Xml.Schema;namespace ValidationSample
    {
       class Sample
       {
          public static void Main()
          {
             XmlTextReader tr = new XmlTextReader("HeadCount.xml");
             XmlValidatingReader vr = new XmlValidatingReader(tr);         vr.ValidationType = ValidationType.DTD;
             vr.ValidationEventHandler += new ValidationEventHandler (ValidationHandler);         while(vr.Read());
             Console.WriteLine("Validation finished");
          }      public static void ValidationHandler(object sender, ValidationEventArgs args)
          {
             Console.WriteLine("***Validation error");
             Console.WriteLine("\tSeverity:{0}", args.Severity);
             Console.WriteLine("\tMessage  :{0}", args.Message);
          }
       }
    }
      

  2.   

    楼上的请看好题目,谢谢
    1.我要在客户端验证,使用javascript
    2.我是验证一个xml文件是否格式是对的(well formed),而不是验证是否符合dtd,schema