Maison > développement back-end > C++ > Comment valider automatiquement XML par rapport à un XSD référencé en C# ?

Comment valider automatiquement XML par rapport à un XSD référencé en C# ?

Linda Hamilton
Libérer: 2025-01-21 19:06:09
original
565 Les gens l'ont consulté

How to Automatically Validate XML Against a Referenced XSD in C#?

Validation de XML par rapport au XSD référencé en C#

Lorsqu'un fichier XML avec un emplacement de schéma spécifié est chargé, il est prévu que le fichier soit automatiquement validé par rapport au schéma en C#. Cependant, spécifier manuellement le schéma semble nécessaire.

Afin de valider XML sans spécifier manuellement le schéma, vous devez créer une instance de XmlReaderSettings et la transmettre à XmlReader lors de la création. Cela vous permet de vous abonner à ValidationEventHandler dans les paramètres pour recevoir les erreurs de validation.

Voici un exemple de code modifié pour y parvenir :

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

public class ValidXSD
{
    public static void Main()
    {
        // 初始化验证设置。
        XmlReaderSettings settings = new XmlReaderSettings();
        settings.ValidationType = ValidationType.Schema;
        settings.ValidationFlags |= XmlSchemaValidationFlags.ProcessInlineSchema;
        settings.ValidationFlags |= XmlSchemaValidationFlags.ProcessSchemaLocation;
        settings.ValidationFlags |= XmlSchemaValidationFlags.ReportValidationWarnings;

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

        // 使用指定的验证设置加载 XML 文件。
        XmlDocument asset = new XmlDocument();
        XmlReader reader = XmlReader.Create("XML_file_path.xml", settings);

        // 解析文件。
        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>
Copier après la connexion

En utilisant XmlReaderSettings, vous pouvez valider automatiquement les fichiers XML par rapport aux XSD référencés sans spécifier explicitement le schéma.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal