Udostępnij za pośrednictwem


Analizator XML: w zawartości tekstowej znaleziono nieprawidłowy znak

Ten artykuł ułatwia rozwiązywanie błędów podczas analizowania języka Extensible Markup Language (XML) zawierającego znaki specjalne przy użyciu analizatora XML firmy Microsoft (MSXML).

Oryginalna wersja produktu: .NET Framework
Oryginalny numer KB: 238833

Objaw

Podczas analizowania kodu XML zawierającego znaki specjalne przy użyciu analizatora XML firmy Microsoft (MSXML) analizator może zgłosić następujący komunikat o błędzie w wierszu i pozycji pierwszego znaku specjalnego:

W zawartości tekstowej znaleziono nieprawidłowy znak.

Przyczyna

Dokument XML nie jest oznaczony odpowiednim schematem kodowania znaków.

Rezolucja

  • Określ odpowiedni schemat kodowania w instrukcji przetwarzania XML.
  • Ponownie zakoduj dane XML jako prawidłowe utF-8.

Stan

Jest to zamierzone działanie.

Więcej informacji

Znak specjalny odnosi się do dowolnego znaku spoza standardowego amerykańskiego standardowego kodu wymiany informacji (ASCII) zakresu zestawów znaków 0x00 — 0x7F, takich jak znaki łacińskie z akcentami, umlauts lub innymi znakami diakrytycznymi. Domyślny schemat kodowania dla dokumentów XML to UTF-8, który koduje znaki ASCII o wartości 0x80 lub wyższej niż inne standardowe schematy kodowania.

Najczęściej ten problem występuje, jeśli pracujesz z danymi, które używają prostego schematu kodowania iso-8859-1. W takim przypadku najszybszym rozwiązaniem jest zwykle pierwsze wymienione wcześniej w sekcji Rozwiązanie . Na przykład użyj następującej deklaracji XML:

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

Zamiast tego można kodować każdy z tych znaków przy użyciu odwołania do jednostki liczbowej. Można na przykład użyć znaku specjalnego á, użyć <test> &#225;</test> (wersja dziesiętna) lub <test>&#x00E1;</test> (wersja szesnastkowa).