如何在C#2.0中验证XML文件

时间:2010-11-22 02:08:04

标签: c# .net xml c#-2.0 xml-validation

我需要有关如何验证Xml文件的帮助吗?

我用google搜索并发现一些教程说开发人员可以根据现有的XSD架构文件验证XML文件。(如下所示)。

就我而言,我没有Xsd文件。我能做什么?我必须使用XSD.exe之类的工具生成Xsd文件吗?

    XmlReaderSettings settings = new XmlReaderSettings();
    settings.ValidationType = ValidationType.Schema;
    settings.Schemas.Add("", "c:\mySchema.xsd");
    settings.ValidationEventHandler += new ValidationEventHandler(OnValidationError);
    XmlReader reader = XmlReader.Create("", settings);
    XPathDocument doc = new XPathDocument(reader);
    XPathNavigator navigatore = doc.CreateNavigator();

实际上我需要的验证是一个非常简单的用法。只需确保所有xml列出的项目/内部子项目都已配对。我将打开并编写我的XML,但是由于某种原因,我的XML无法成功编写。然后,当我下次加载XML时,我的应用程序将抛出异​​常。这就是为什么我需要在加载之前验证我的xml文件。

感谢您的意见和建议。

1 个答案:

答案 0 :(得分:1)

如果你没有xsd,你应该创建一个。如果您尝试验证任何特定结构,这是您的最佳选择。

如果您只是想确保文档由有效的XML组成,那么您可以在没有文档的情况下离开,但如果您关心模式,则必须创建模式定义。

您可以编写自己的XSD或使用任意数量的工具。我的建议是写自己的。这并不难,值得知道该怎么做。

以下链接可让您入门:http://www.w3schools.com/schema/default.asp