XML belgelerinde hangi karakterlerden kaçmam gerekir?

XML belgelerinde hangi karakterlerin kaçması gerekir veya böyle bir listeyi nerede bulabilirim?

Çözüm

Uygun bir sınıf veya kütüphane kullanırsanız, kaçış işlemini sizin için yaparlar. Birçok XML sorunu dize birleştirme işleminden kaynaklanır.

XML kaçış karakterleri

Sadece beş tane var:

"   "
'   '
<   <
>   >
&   &

Karakterlerden kaçılması, özel karakterin nerede kullanıldığına bağlıdır.

Örnekler W3C Markup Validation Service adresinden doğrulanabilir.

Text

Güvenli yol, metindeki beş karakterin tamamını kaçmaktır, ancak ", ' ve > karakterlerinin metinde kaçmasına gerek yoktur:

<?xml version="1.0"?>
"'>

Attributes

Güvenli yol, özniteliklerde beş karakterin de kaçılmasıdır, ancak > karakterinin özniteliklerde kaçılması gerekmez:

<?xml version="1.0"?>

Tırnak işaretleri " ise, ' karakterinin özniteliklerde kaçmasına gerek yoktur:

<?xml version="1.0"?>

Aynı şekilde, tırnak işaretleri ' ise, " işaretinin özniteliklerde kaçmasına gerek yoktur:

<?xml version="1.0"?>

Yorumlar

Yorumlarda 5 özel karakterin tümü kaçırılmamalıdır:

<?xml version="1.0"?>


CDATA

5 özel karakterin tümü CDATA bölümlerinde kaçırılmamalıdır:


<?xml version="1.0"?>
Yorumlar (13)

Belki bu yardımcı olur:

List of XML and HTML character entity references:

SGML, HTML ve XML belgelerinde karakter olarak bilinen mantıksal yapılar veri ve öznitelik değerleri şunlardan oluşur karakter dizileri, her bir karakterin karakter doğrudan ortaya çıkabilir (kendisini temsil eden) veya bir dizi karakterle temsil edilir karakter referansı olarak adlandırılır. iki tür vardır: sayısal karakter referansı ve bir karakter varlık referansı. Bu makale şunları listeler karakter varlığı şu referansları verir HTML ve XML belgelerinde geçerlidir.

Bu makalede aşağıdaki beş ön tanımlı XML varlığı listelenmiştir:

quot  "
amp   &
apos  '
lt    <
gt    >
Yorumlar (0)

Yaygın olarak bilinen beş karaktere [, &, ", '] ek olarak dikey sekme karakterinden (0x0B) de kaçardım. Bu geçerli UTF-8'dir, ancak geçerli XML 1.0 değildir ve hatta birçok kütüphane (libxml2 dahil) bunu kaçırır ve sessizce geçersiz XML çıktısı verir.

Yorumlar (0)