Dokumen XML boleh merujuk skema luaran menggunakan atribut xsi:schemaLocation
. Walau bagaimanapun, apabila melakukan pengesahan XML dalam C#, anda mungkin mahu memanfaatkan skema yang dinyatakan dalam fail XML daripada memuatkannya secara manual.
Untuk melaksanakan pengesahan automatik berdasarkan mod sebaris, anda boleh menggunakan kaedah berikut:
<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>
Kaedah ini menentukan pengesahan skema menggunakan atribut ValidationType
dan menggunakan ValidationFlags
yang berkaitan untuk menunjukkan penggunaan skema sebaris dan peletakan skema. ValidationEventHandler
digunakan untuk mengendalikan sebarang ralat pengesahan atau amaran yang mungkin berlaku semasa penghuraian.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghuraikan XML dengan Pengesahan Skema Terbenam dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!