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.
Orijinal ürün sürümü: .NET Framework
Özgün KB numarası: 238833
Belirti
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.
Neden
XML belgesi doğru 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.
Durum
Bu davranış tasarımdan kaynaklanır.
Daha fazla bilgi
Özel karakter, aksanlı Latin karakterler, umlautlar veya diğer aksanlar 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 karakterlerini diğer standart kodlama düzenlerinden farklı 0x80 veya daha yüksek bir değerle kodlar.
Çoğu zaman, basit iso-8859-1 kodlama şemasını 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 önce 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 alabilir, (ondalık sürüm) veya <test>á</test>
(onaltılık sürüm) kullanabilirsiniz <test> á</test>
.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin