Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk memasukkan ruang nama di XPath memilih menggunakan C#?

Bagaimana untuk memasukkan ruang nama di XPath memilih menggunakan C#?

Patricia Arquette
Patricia Arquetteasal
2025-01-29 08:07:09809semak imbas

How to Include Namespaces in XPath Selects Using C#?

menggunakan C# untuk mengendalikan ruang nama dalam pertanyaan XPath

Apabila bekerja dengan dokumen XML yang mengandungi ruang nama, terutamanya ruang nama lalai, dengan betul menentukan ruang nama dalam pertanyaan XPath anda adalah penting untuk pemilihan nod yang tepat. Kaedah pemilihan XPath standard sering mengabaikan maklumat ruang nama secara lalai.

Untuk memasukkan maklumat ruang nama dalam pilihan C# xpath anda, leverage kelas

. Inilah panduan langkah demi langkah: XmlNamespaceManager

  1. Instantiate : XmlNamespaceManager

    Buat contoh

    baru, menyediakan XmlNamespaceManager dokumen XML anda sebagai parameter. Ini menghubungkan pengurus ruang nama ke definisi ruang nama dokumen. NameTable

  2. Daftar ruang nama:

    Gunakan kaedah

    untuk mendaftarkan ruang nama anda. Jika berurusan dengan ruang nama lalai, berikan awalan (mis., "X") dan ruang nama URI yang diperoleh dari elemen akar dokumen. AddNamespace()

  3. Jalankan pemilihan XPath:

    menggunakan kaedah

    , lulus kedua -dua ekspresi XPath anda dan contoh SelectNodes(). Dalam ungkapan XPath anda, nama elemen awalan dengan awalan yang anda tentukan sebelumnya (mis., ). XmlNamespaceManager /x:outerelement/x:innerelement

Contoh ilustrasi:

Kaedah ini memastikan bahawa pertanyaan XPath anda dengan betul menyumbang ruang nama, yang membawa kepada pengambilan nod yang tepat dari dokumen XML anda. Ingatlah untuk menggantikan ruang letak seperti
<code class="language-csharp">XmlElement el = ...; // Your XML element
XmlNamespaceManager nsmgr = new XmlNamespaceManager(el.OwnerDocument.NameTable);
nsmgr.AddNamespace("x", el.OwnerDocument.DocumentElement.NamespaceURI); // Register default namespace with prefix "x"
var nodes = el.SelectNodes("/x:outerelement/x:innerelement", nsmgr); // Perform selection using namespace manager</code>
dengan elemen XML sebenar anda.

Atas ialah kandungan terperinci Bagaimana untuk memasukkan ruang nama di XPath memilih menggunakan 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