Aracılığıyla paylaş


XML ayrıştırıcısı: Metin içeriğinde geçersiz karakter bulundu

Bu makale, Microsoft XML ayrıştırıcısını (MSXML) kullanarak özel karakterler içeren Genişletilebilir Biçimlendirme Dili'ni (XML) ayrıştırdığınızda oluşan hataları çözmenize yardımcı olur.

Özgün ürün sürümü: .NET Framework
Özgün KB numarası: 238833

Semptom

Microsoft XML ayrıştırıcısını (MSXML) kullanarak özel karakterler içeren XML'yi ayrıştırdığınızda, ayrıştırıcı ilk özel karakterin satırında ve konumunda aşağıdaki hata iletisini bildirebilir:

Metin içeriğinde geçersiz bir karakter bulundu.

Nedeni

XML belgesi uygun karakter kodlama düzeniyle işaretlenmez.

Çözüm

  • XML işleme yönergesinde uygun kodlama düzenini belirtin.
  • XML verilerini uygun UTF-8 olarak yeniden kodlar.

Statü

Bu davranış tasarım gereğidir.

Daha fazla bilgi

Özel karakter, aksanlı Latin karakterler, umlautlar veya diğer aksanlı karakterler gibi 0x00 - 0x7F standart Amerikan Standart Değişim Kodu (ASCII) karakter kümesi aralığının dışındaki herhangi bir karakteri ifade eder. XML belgeleri için varsayılan kodlama düzeni UTF-8'dir ve ASCII karakterleri diğer standart kodlama düzenlerinden farklı 0x80 veya daha yüksek bir değerle kodlar.

Çoğu zaman, basit iso-8859-1 kodlama düzenini kullanan verilerle çalışıyorsanız bu sorunu görürsünüz. Bu durumda en hızlı çözüm genellikle Çözüm bölümünde listelenen ilk çözümdür. Örneğin, aşağıdaki XML bildirimini kullanın:

<?xml version="1.0" encoding="iso-8859-1" ?>
<rootelement>
    ...XML data...
</rootelement>

Bunun yerine, sayısal varlık başvurularını kullanarak bu karakterlerin her birini kodlayabilirsiniz. Örneğin, á özel karakterini <test>&#x00E1;</test>