如何在 C#2.0 中验证 XML 文件
Posted
技术标签:
【中文标题】如何在 C#2.0 中验证 XML 文件【英文标题】:How to validate XML file in C#2.0 【发布时间】:2010-11-22 02:08:04 【问题描述】:我需要有关如何简单地验证 Xml 文件的帮助?
我用谷歌搜索,发现一些教程说开发人员可以根据现有的 XSD 模式文件验证 XML 文件。(如下面的 snppet)。
就我而言,我没有 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 文件。
感谢您的 cmets 和建议。
【问题讨论】:
即使您在阅读 XML 时可能仍然可以很好地验证它,但如果您修复了它无法写入的部分,您会不会更好? 【参考方案1】:如果您没有 xsd,您应该创建一个。如果您尝试验证任何特定结构,这是您的最佳选择。
如果您只是想确保一个文档由有效的 XML 组成,您可以不使用,但如果您关心架构,那么您必须创建一个架构定义。
您可以编写自己的 XSD 或使用任意数量的工具。我的建议是自己写。这并不难,值得知道如何去做。
这是一个帮助您入门的链接:http://www.w3schools.com/schema/default.asp
【讨论】:
我想创建我的 XSD 文件。谢谢。以上是关于如何在 C#2.0 中验证 XML 文件的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Azure 逻辑应用中使用 OAuth 2.0 身份验证?