【问题标题】:how to check whether xml file content is in correct format?如何检查xml文件内容的格式是否正确?
【发布时间】:2010-06-10 10:48:30
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

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

    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;
            }
        }
    

    所以你会得到错误和警告列表..

    【讨论】:

      【解决方案2】:

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

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-10-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-03
        • 2016-12-11
        • 2018-01-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多