Saya melihat baris di bawah ini dalam kode untuk parser DOM di tutorial ini .
doc.getDocumentElement().normalize();
Mengapa kita melakukan normalisasi ini?
aku membaca dokumen tetapi saya tidak bisa mengerti sepatah kata pun.
Letakkan semua node Teks di kedalaman penuh sub-pohon di bawah Node ini
Oke, lalu bisakah seseorang menunjukkan kepada saya (lebih disukai dengan gambar) seperti apa pohon ini?
Adakah yang bisa menjelaskan mengapa diperlukan normalisasi?
Apa yang terjadi jika kita tidak menormalkan kembali?
java
xml
dom
computer-science
Penggiling apel
sumber
sumber
Jawaban:
Kalimat selanjutnya adalah:
Ini pada dasarnya berarti elemen XML berikut
dapat direpresentasikan seperti ini dalam simpul denormalized:
Ketika dinormalisasi, simpul akan terlihat seperti ini
Dan hal yang sama berlaku untuk atribut:,
<foo bar="Hello world"/>
komentar, dll.sumber
Secara sederhana, Normalisasi adalah Pengurangan Redudansi.
Contoh Redudansi:
a) spasi putih di luar tag root / dokumen ( ... <dokumen> </dokumen> ... )
b) spasi putih dalam tag awal (< ... >) dan tag akhir (</ ... >)
c) spasi putih antara atribut dan nilainya (mis. spasi antara nama kunci dan = " )
d) deklarasi namespace yang berlebihan
e) garis putus / spasi putih dalam teks atribut dan tag
f) komentar dll ...
sumber
Sebagai perpanjangan dari jawaban @ JBNizet untuk pengguna yang lebih teknis inilah penerapan
org.w3c.dom.Node
antarmuka dicom.sun.org.apache.xerces.internal.dom.ParentNode
dalamnya, memberi Anda ide bagaimana cara kerjanya sebenarnya.Itu melintasi semua node secara rekursif dan memanggil
kid.normalize()
Mekanisme ini ditimpa
org.apache.xerces.dom.ElementImpl
Semoga ini menghemat waktu Anda.
sumber