Diberikan struktur XML seperti:
<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book>
<title lang="eng">Harry Potter</title>
<price>29.99</price>
</book>
<book>
<title lang="eng">Learning XML</title>
<price>39.95</price>
</book>
</bookstore>
Bagaimana saya bisa mendapatkan nilai lang
(di mana lang
adalah eng
dalam judul buku), untuk elemen pertama?
Jawaban:
Gunakan :
Ini berarti :
Pilih
lang
atribut elemen judul yang merupakan anak daribook
anak pertama dari elemen atas dokumen XML.Untuk mendapatkan nilai string atribut ini gunakan fungsi XPath standar
string()
:sumber
lang
atribut. Jika atribut tidak mengandung tanda kurung siku, mereka tidak akan menjadi bagian dari hasil evaluasi ekspresi XPath. Dugaan saya adalah ini ditambahkan oleh alat (tidak pantas) yang Anda gunakan./*/book[1]/title/@lang
memilih kumpulan-simpul dari 0 atau lebih atribut atribut, sedangkan ekspresi XPathstring(/*/book[1]/title/@lang)
ketika dievaluasi, menghasilkan nilai string dari kumpulan-simpul ini - dan ini adalah nilai string yang pertama (dalam urutan dokumen) simpul dari simpul-set ini.lang="eng"
hanyalah salah satu dari banyak representasi tekstual dari simpul atribut yang memiliki nama "lang", bukan milik namespace, dan memiliki nilai string string "eng"Terima kasih! Ini memecahkan masalah serupa yang saya miliki dengan atribut data di dalam Div.
Gunakan xpath ini:
//*[@id="prop_sample"]/@data-want
Semoga ini bisa membantu orang lain!
sumber
Anda dapat mencoba di bawah pola xPath,
sumber
Anda juga bisa mendapatkannya dengan
Meskipun jika Anda menggunakan XMLDOM dengan JavaScript Anda dapat kode sesuatu seperti
dan
n1.text
akan memberi Anda nilai"eng"
sumber
kamu bisa menggunakan:
ini berarti Anda mendapatkan semua atribut node dengan nama sama dengan "lang" dan mendapatkan yang pertama.
sumber
Berikut ini cuplikan dari mendapatkan nilai atribut "lang" dengan XPath dan VTD-XML.
sumber
Jika Anda menggunakan PostgreSQL, ini adalah cara yang tepat untuk mendapatkannya. Ini hanya asumsi di mana Anda memiliki tabel buku, kolom TITLE dan PRICE dengan data yang terisi. Inilah pertanyaannya
sumber