首页 > 后端开发 > C++ > 如何使用 C# 中的嵌入式架构验证来解析 XML?

如何使用 C# 中的嵌入式架构验证来解析 XML?

Susan Sarandon
发布: 2025-01-21 18:52:15
原创
306 人浏览过

How Can I Parse XML with Embedded Schema Validation in C#?

C# 中的 XML 解析与内嵌模式验证

XML文档可以使用xsi:schemaLocation属性引用外部模式。然而,在C#中进行XML验证时,可能需要利用XML文件中指定的模式,而不是手动加载它。

为了实现基于内嵌模式的自动验证,可以使用以下方法:

<code class="language-csharp">using System.Xml;
using System.Xml.Schema;
using System.IO;

public class ValidXSD
{
    public static void Main()
    {
        // 初始化 XmlReaderSettings 实例。
        XmlReaderSettings settings = new XmlReaderSettings
        {
            ValidationType = ValidationType.Schema,
            ValidationFlags = XmlSchemaValidationFlags.ProcessInlineSchema |
                                XmlSchemaValidationFlags.ProcessSchemaLocation |
                                XmlSchemaValidationFlags.ReportValidationWarnings
        };

        // 注册验证事件处理程序。
        settings.ValidationEventHandler += new ValidationEventHandler(ValidationCallBack);

        // 使用设置创建 XmlReader。
        XmlReader reader = XmlReader.Create("inlineSchema.xml", settings);

        // 处理 XML 文件。
        while (reader.Read()) ;
    }

    // 验证回调的事件处理程序。
    private static void ValidationCallBack(object sender, ValidationEventArgs args)
    {
        // 处理验证警告或错误。
        if (args.Severity == XmlSeverityType.Warning)
            Console.WriteLine($"\t警告: {args.Message}");
        else
            Console.WriteLine($"\t错误: {args.Message}");
    }
}</code>
登录后复制

此方法使用ValidationType属性指定模式验证,并使用相关的ValidationFlags指示内嵌模式和模式位置的使用。ValidationEventHandler用于处理解析过程中可能出现的任何验证错误或警告。

以上是如何使用 C# 中的嵌入式架构验证来解析 XML?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板