Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mengesahkan XML terhadap Skema XSD yang Dirujuk dalam C#?

Bagaimana untuk Mengesahkan XML terhadap Skema XSD yang Dirujuk dalam C#?

Linda Hamilton
Linda Hamiltonasal
2025-01-21 18:57:09617semak imbas

How to Validate XML against a Referenced XSD Schema in 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn