Dalam kes di mana XML anda mengandungi ruang nama, seperti contoh ini:
anda mungkin menghadapi masalah apabila menggunakan pertanyaan XPath seperti "/buku kerja/helaian/helaian[1]". Ini kerana elemen terikat pada ruang nama dan XPath anda sedang mencari elemen dalam ruang nama tanpa nama lalai.
Terdapat pelbagai cara untuk mengendalikan ruang nama dalam XPath pertanyaan:
Pendekatan yang disyorkan ialah mendaftarkan ruang nama dengan awalan. Ini memudahkan pembangunan dan penyelenggaraan XPath:
Dengan persediaan ini, anda boleh menggunakan pertanyaan XPath yang dipermudahkan:
Jika anda memilih untuk tidak menggunakan awalan ruang nama, anda boleh membuat Ungkapan XPath yang menggunakan padanan generik dengan penapis predikat:
Kaedah ini menghasilkan ungkapan XPath verbose yang mungkin sukar dibaca dan dikekalkan.
Anda juga boleh mengabaikan ruang nama dengan memadankan hanya pada nama tempatan:
Walau bagaimanapun, pendekatan ini berisiko memilih elemen yang salah dalam kes perbendaharaan kata bercampur yang menggunakan nama tempatan yang sama merentas ruang nama yang berbeza.
Atas ialah kandungan terperinci Bagaimanakah anda mengendalikan ruang nama dalam pertanyaan XPath apabila XML anda mengandunginya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!