Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mengesahkan XML terhadap Skema XSD yang Dirujuk dalam C#?
Pengesahan XML C# Terhadap Skema XSD yang Dirujuk
Memastikan kesahihan dokumen XML terhadap skema yang ditentukan adalah penting. Artikel ini menunjukkan pengesahan XML C# menggunakan kelas XmlDocument
terhadap skema XSD.
Tidak seperti tingkah laku lalai, XmlDocument
tidak mengesahkan secara automatik terhadap skema yang dibenamkan dalam XML. Untuk mendayakan ini, kami akan mengkonfigurasi XmlReaderSettings
. Khususnya, kami menetapkan ValidationType
kepada Schema
dan menggunakan ValidationFlags
untuk memproses skema sebaris, lokasi skema dan amaran laporan.
<code class="language-csharp">XmlReaderSettings settings = new XmlReaderSettings(); settings.ValidationType = ValidationType.Schema; settings.ValidationFlags |= XmlSchemaValidationFlags.ProcessInlineSchema; settings.ValidationFlags |= XmlSchemaValidationFlags.ProcessSchemaLocation; settings.ValidationFlags |= XmlSchemaValidationFlags.ReportValidationWarnings;</code>
Seterusnya, buat XmlReader
menggunakan tetapan ini dan daftar ValidationEventHandler
untuk menangkap hasil pengesahan.
<code class="language-csharp">XmlReader reader = XmlReader.Create("inlineSchema.xml", settings); reader.ValidationEventHandler += new ValidationEventHandler(ValidationCallBack);</code>
Kaedah ValidationCallBack
memproses peristiwa pengesahan:
<code class="language-csharp">private static void ValidationCallBack(object sender, ValidationEventArgs args) { if (args.Severity == XmlSeverityType.Warning) Console.WriteLine("\tWarning: " + args.Message); else Console.WriteLine("\tValidation error: " + args.Message); }</code>
Kaedah diperkemas ini secara automatik mengesahkan XML terhadap skema terbenamnya, menghapuskan keperluan untuk memuatkan skema manual ke dalam objek XmlDocument
. Fungsi ValidationCallBack
memberikan amaran yang jelas dan mesej ralat.
Atas ialah kandungan terperinci Bagaimana untuk Mengesahkan XML terhadap Skema XSD yang Dirujuk dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!