none
如何判断一个本地的xml是合法的啊? RRS feed

答案

全部回复

  • 你好!
         可以使用VS创建XML文档的XSD Schema,就用这个来验证XML文档!
         菜单-》XML->创建架构
         如果要验证:
         菜单-》XML->验证XML数据

    周雪峰
    2009年5月28日 2:21
    版主
  • 如果要使用代码验证的话,可以这样写:
    XmlDocument xDoc=new XmlDocument();
    xDox.Load(@"C:\aaa.xml");
    xDoc.Schemas.Add(string.Empty,@"C:\aaa.xsd");
    xDoc.Schemas.Compile();
    ValicatationEventHandler validator=ValidatingProblemHandler;
    xDoc.Validate(validator);

    private void ValidatingProblemHandler(object sender,ValidatingEventArgs e)
    {
          if(e.Serverity==XmlServerityType.Error)
               Console.WriteLine(e.Message);
    }
    周雪峰
    2009年5月28日 2:28
    版主
  • 千万别用xmldom 来验证   这是世界上最慢的方式   每一个节点每一个属性都要建立对象  垃圾回收如果有人格的话会追你三条街的
    参考下面的地址

    http://msdn.microsoft.com/zh-cn/library/hdf992b8.aspx

    使用XmlReader进行验证
    紫柔版主的头像真叫萌得一个不行啊。。。。
    2009年5月28日 3:14
  • 对,用xsd可能不行,假如我有很多种不同的xml格式的话,里面的节点是不确定的,那很痛苦,我只要知道这个xml文件是不是规范的就可以了
    http://www.mapgou.cn
    2009年5月28日 5:48
  • XmlDocument.Load能成功就是对的。
    【孟子E章】
    2009年5月28日 10:22
    版主