gpt4 book ai didi

c# - 可以在运行时使用代码针对 xsd 验证 xml 吗?

转载 作者:可可西里 更新时间:2023-11-01 08:35:31 26 4
gpt4 key购买 nike

我有在运行时读入的 xml 文件,是否可以在运行时根据 xsd 文件验证 xml?使用 C#

最佳答案

试试这个:

public void ValidateXmlDocument(
XmlReader documentToValidate, string schemaPath)
{
XmlSchema schema;
using (var schemaReader = XmlReader.Create(schemaPath))
{
schema = XmlSchema.Read(schemaReader, ValidationEventHandler);
}

var schemas = new XmlSchemaSet();
schemas.Add(schema);

var settings = new XmlReaderSettings();
settings.ValidationType = ValidationType.Schema;
settings.Schemas = schemas;
settings.ValidationFlags =
XmlSchemaValidationFlags.ProcessIdentityConstraints |
XmlSchemaValidationFlags.ReportValidationWarnings;
settings.ValidationEventHandler += ValidationEventHandler;

using (var validationReader = XmlReader.Create(documentToValidate, settings))
{
while (validationReader.Read())
{
}
}
}

private static void ValidationEventHandler(
object sender, ValidationEventArgs args)
{
if (args.Severity == XmlSeverityType.Error)
{
throw args.Exception;
}

Debug.WriteLine(args.Message);
}

关于c# - 可以在运行时使用代码针对 xsd 验证 xml 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1277595/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com