Saya memiliki beberapa teks XML yang ingin saya render di halaman HTML. Teks ini berisi ampersand, yang saya ingin membuat dalam representasi entitas yang: &
.
Bagaimana cara saya melepaskan ampersand ini dalam XML sumber? Saya mencoba &
, tetapi ini diterjemahkan sebagai karakter ampersand yang sebenarnya ( &
), yang tidak valid dalam HTML .
Jadi saya ingin menghindarinya sedemikian rupa sehingga akan ditampilkan seperti &
pada halaman web yang menggunakan output XML.
Jawaban:
Ketika XML Anda berisi
&
, ini akan menghasilkan teks&
.Saat Anda menggunakannya dalam HTML, itu akan diterjemahkan sebagai
&
.sumber
Sesuai §2.4 dari spesifikasi XML 1.0 , Anda harus dapat menggunakannya
&
.Apakah Anda yakin itu bukan masalah yang berbeda? XML secara eksplisit mendefinisikan ini sebagai cara untuk menghindari ampersand.
sumber
The
&
karakter itu sendiri merupakan karakter escape di XML sehingga solusinya adalah untuk menggabungkan dan desimal Unicode setara untuk&
sehingga memastikan bahwa tidak ada XML parsing error. Artinya, ganti karakter&
dengan&
.sumber
&
Gunakan
CDATA
tag:sumber
&
seharusnya berfungsi dengan baik, Wikipedia memiliki Daftar entitas yang ditentukan sebelumnya dalam XML .sumber
Dalam kasus saya, saya harus mengubahnya ke
%26
.Saya perlu melarikan diri
&
dalam URL. Jadi&
tidak berhasil untuk saya. Fungsi urlencode berubah&
menjadi%26
. Dengan cara ini XML atau mekanisme URL browser tidak mengeluh tentang URL.sumber
Saya sudah mencoba & amp, tetapi tidak berhasil. Berdasarkan jawaban Wim ten Brink, saya mencoba & amp dan berhasil.
Salah satu rekan pengembang saya menyarankan saya untuk menggunakan & # x26; dan itu bekerja terlepas dari berapa kali itu dapat diberikan.
sumber
&
adalah cara untuk mewakili ampersand di sebagian besar bagian dokumen XML.Jika Anda ingin memiliki XML ditampilkan dalam HTML, Anda harus terlebih dahulu membuat dikodekan dengan benar XML (yang melibatkan perubahan
&
untuk&
) dan kemudian menggunakannya untuk membuat dikodekan dengan baik HTML (yang melibatkan lagi mengubah&
ke&
). Itu menghasilkan:Untuk penjelasan yang lebih menyeluruh tentang penyandian XML, lihat:
Karakter apa yang saya butuhkan untuk melarikan diri dalam dokumen XML?
sumber
<xsl:text disable-output-escaping="yes">& </xsl:text>
akan melakukan trik.sumber
Bagaimana dengan menggunakan unicode
\u0026
? Bekerja untuk saya di file XML android saya. Jika ada masalah, seseorang beri tahu saya.sumber
\u
escapes tidak memiliki arti khusus dalam XML secara umum. -1.Pertimbangkan apakah XML Anda terlihat seperti di bawah ini.
Anda tidak dapat menggunakan
<>
secara langsung karena ada kesalahan. Dalam hal ini, Anda dapat menggunakannya<>
sebagai pengganti.Klik di sini untuk melihat semua kode.
sumber