【问题标题】:How to Verify using C# if a XML file is broken如果 XML 文件损坏,如何使用 C# 进行验证
【发布时间】:2011-06-02 13:38:01
【问题描述】:

是否有任何内置功能可以确定 XML 文件是否有效。一种方法是读取整个内容并验证字符串是否代表有效的 XML 内容。即使这样,如何确定字符串是否包含有效的 XML 数据。

【问题讨论】:

    标签: c# xml string validation file


    【解决方案1】:

    使用 XML 在 StringReader 周围创建一个 XmlReader 并通过阅读器读取:

    using (var reader = XmlReader.Create(something))
        while(reader.Read()) 
            ;
    

    如果您没有收到任何异常,则说明 XML 格式正确。

    与 XDocument 或 XmlDocument 不同,它不会在内存中保存整个 DOM 树,因此即使在非常大的 XML 文件上也能快速运行。

    【讨论】:

      【解决方案2】:

      您可以尝试将 XML 加载到 XML 文档中并捕获异常。 下面是示例代码:

      var doc = new XmlDocument();
      try {
        doc.LoadXml(content);
      } catch (XmlException e) {
        // put code here that should be executed when the XML is not valid.
      }
      

      希望对你有帮助。

      【讨论】:

      • 应该注意的是,如果你在一个非常大但完全有效的 xml 字符串上尝试这样的操作,你可能会抛出一个 OutOfMemoryException。
      【解决方案3】:
      猜你喜欢
      • 1970-01-01
      • 2011-05-31
      • 1970-01-01
      • 2021-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多