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中文網其他相關文章!