Les documents XML peuvent référencer des schémas externes à l'aide de l'attribut xsi:schemaLocation
. Cependant, lors de la validation XML en C#, vous souhaiterez peut-être exploiter le schéma spécifié dans le fichier XML plutôt que de le charger manuellement.
Afin de mettre en œuvre la vérification automatique basée sur le mode en ligne, vous pouvez utiliser les méthodes suivantes :
<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>
Cette méthode spécifie la validation du schéma à l'aide de l'attribut ValidationType
et utilise le ValidationFlags
associé pour indiquer l'utilisation du schéma en ligne et le placement du schéma. ValidationEventHandler
est utilisé pour gérer les erreurs de validation ou les avertissements pouvant survenir lors de l'analyse.
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!