2011-07-14 19 views
8

Kitap uygulaması için bir dize öğesinin içine bir metin öbeği aldım ve şu hatayı alıyorum: Bu belgenin öğe içeriğinde geçersiz bir XML karakteri (Unicode: 0x1f) bulundu. Burada http://lwp.interglacial.com/appf_01.htm'a baktım ve açıklama ABD'de yazıyor (alt çizgi kaldırılmıyor gibi görünüyor). Bu karakter ne olursa, mümkünse çıkarabilirim. Android için çok yeni biriyim, çok basit cevaplar lütfen.Karakter 0x1f nedir?

cevap

7

ABD, "Birim ayırıcı" anlamına gelir. Bu görünmez bir karakterdir, bu nedenle metin dosyanızı görünmez karakterleri gösterebilen ve bunları kaldırabilen bazı metin düzenleyicileriyle açmalısınız. Muhtemelen Notepad ++ bu işlevselliği vereceğini düşünüyorum:

http://notepad-plus-plus.org/

+1

İndirilen not defteri ++, dosya açıldı ve hemen gösterdi, parlak! Teşekkür ederim :) – Broo

14

0x1F bir Unit Separator, (gibi CSV , veya Tab) bir metinde alanları ayırmak için bir arkaik bir yoldur. XML 1.0'da not a valid text character (allowed in XML 1.1) 'dir. Bir UTF-8 giriş dizesinde, sorunu çözmek için 0x1f baytını 0x09 (Sekme) ile güvenli bir şekilde değiştirebilirsiniz. Alternatif olarak, belgeyi XML 1.1 olarak bildirin ve bir XML 1.1 ayrıştırıcısı kullanın.

+0

Teşekkürler Phihag, ama benim tutulması aksini söylüyor. Eclipse android projeleri için standart gibi görünüyor xml sürüm 1.0 kullanıyorum. Güncellemeli miyim? – Broo

+0

@Broo Güncellemenin yardımcı olamayacağı olasıdır, ancak bu sorun devam ederse hata olabilir. Sorunu yanlış anladım. Bir dahaki sefere, eğer programlama ile ilgili değilse (yani * bir şeyler yapan * yazma kodu yerine * bir şeyler yapmak isterseniz), lütfen http://superuser.com/ – phihag

+0

WRONG adresinden sorun: 0x1f yasal bir XML değildir. XML 1.0 karakter. Bkz. Http://www.w3.org/TR/REC-xml/#charsets. XML 1.1'de # x1f; olarak ifade edilebilir, ancak XML 1.0'da ifade edilemez. Downvoting. –