如何确定XML是否格式正确?

时间:2009-04-08 08:15:37

标签: c# xml

我在字符串中有一个大的xml文档。确定xml是否形成良好的最佳方法是什么?

4 个答案:

答案 0 :(得分:14)

类似的东西:

    static void Main() {
        Test("<abc><def/></abc>");
        Test("<abc><def/><abc>");
    }
    static void Test(string xml) {
        using (XmlReader xr = XmlReader.Create(
                new StringReader(xml))) {
            try {
                while (xr.Read()) { }
                Console.WriteLine("Pass");
            } catch (Exception ex) {
                Console.WriteLine("Fail: " + ex.Message);
            }
        }
    }

如果您需要检查xsd,请使用XmlReaderSettings

答案 1 :(得分:4)

只需通过解析器运行即可。这将执行适当的检查(是否解析好)。

如果它是一个大文档(如图所示)那么基于事件的解析器(例如SAX)将是合适的,因为它不会将文档存储在内存中。

使用XML实用程序检查这类内容通常很有用。我使用XMLStarlet,它是用于XML检查/操作的命令行工具集。

答案 2 :(得分:3)

XmlReader似乎是一个不错的选择,因为它应该流式传输数据(不能一次性加载整个xml)

http://msdn.microsoft.com/en-us/library/9d83k261.aspx

答案 3 :(得分:1)

尝试将XmlReaderXmlReaderSettings ConformanceLevel一起使用。文档集。

相关问题