Untuk jalur di bawah ini di XPath, saya harus memiliki kondisi untuk parser, di mana nilai atributnya adalah '1'

./*[local-name()='AccountNumber']/@UndocumentedAccount

Saya sudah mencoba beberapa hal sejauh ini, tetapi sepertinya tidak ada yang berhasil

./*[local-name()='AccountNumber']/@UndocumentedAccount='1'

./*[local-name()='AccountNumber'][@UndocumentedAccount='1']

./*[local-name()='AccountNumber']/@*[UndocumentedAccount and text()='1']

Saya tahu cara membangun kondisi seperti itu untuk nilai elemen itu sendiri, tetapi belum menemukan cara melakukan hal yang sama untuk nilai atribut

0
alexherranz 18 Mei 2021, 20:18

1 menjawab

Jawaban Terbaik

Jika Anda mencoba memilih atribut UndocumentedAccount hanya jika nilainya 1, maka sintaks yang mungkin Anda cari adalah:

./*[local-name()='AccountNumber']/@UndocumentedAccount[.='1']

Titik adalah singkatan untuk sumbu diri yang merupakan item konteks (item tepat di sebelah kiri tanda kurung siku [). Anda juga dapat mencoba yang berikut ini untuk hanya memilih node AccountNumber yang memiliki atribut UndocumentedAccount = 1:

./*[local-name()='AccountNumber' and @UndocumentedAccount ='1']/@UndocumentedAccount
1
David Denenberg 18 Mei 2021, 17:41