如何检查xml文件内容格式是否正确?

时间:2010-06-10 10:48:30

标签: c# .net asp.net xml linq

我有一个default.xml文件,我存储所有默认值。如果存在具有相同default.xml名称的无效文件,则必须在状态栏中显示消息。

2 个答案:

答案 0 :(得分:1)

在XML中为您想要的架构创建一个XSD ...然后您可以通过以下方式对XSD验证任何xml

public static ArrayList VerifyXML(string xmlFile, string XSDFilepath)
    {
        XmlDocument xDoc = new XmlDocument();
        xDoc.Load(xmlFile);
        xDoc.Schemas.Add("Mention your target namespace here", XSDFilepath);
        xDoc.Validate(new ValidationEventHandler(ValidationCallBack)); 
        return m_oResults;
    }
 private static void ValidationCallBack(Object sender, ValidationEventArgs e)
    {
        switch (e.Severity)
        {
            case XmlSeverityType.Error:
                m_oResults.Add(e);
                break;
            case XmlSeverityType.Warning:
                m_oResults.Add(e);
                break;
        }
    }

因此,您将获得错误和警告列表..

答案 1 :(得分:0)

您需要为XML创建架构(XSD)。

然后,您可以使用类似验证器pranay_stacker链接来检查XML文件的格式是否适合您的应用程序。

Microsoft有一个XML Schema Definition Tool(Xsd.exe)

这可用于将XML转换为XSD。使用参考XML文件完成此操作后,您可以使用XSD验证您读取的任何未来XML文件。