如何在XML文件损坏时使用C#进行验证

时间:2011-06-02 13:38:01

标签: c# xml string validation file

是否内置任何内容来确定XML文件是否有效。一种方法是读取整个内容并验证字符串是否代表有效的XML内容。即便如此,如何确定字符串是否包含有效的XML数据。

3 个答案:

答案 0 :(得分:11)

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

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

如果没有任何例外,那么XML格式正确。

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

答案 1 :(得分:4)

您可以尝试将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.
}

希望它有所帮助。

答案 2 :(得分:0)