Condividi tramite


Parser XML: il carattere non valido è stato trovato nel contenuto di testo

Questo articolo consente di risolvere gli errori durante l'analisi del linguaggio XML (Extensible Markup Language) che contiene caratteri speciali tramite il parser XML Microsoft (MSXML).

Versione originale del prodotto: .NET Framework
Numero KB originale: 238833

Sintomo

Quando si analizza xml contenente caratteri speciali utilizzando il parser XML Microsoft (MSXML), il parser può segnalare il seguente messaggio di errore nella riga e nella posizione del primo carattere speciale:

È stato trovato un carattere non valido nel contenuto di testo.

Motivo

Il documento XML non è contrassegnato con lo schema di codifica dei caratteri appropriato.

Risoluzione

  • Specificare lo schema di codifica appropriato nell'istruzione di elaborazione XML.
  • Codificare nuovamente i dati XML come UTF-8 appropriati.

stato

Questo comportamento è predefinito.

Maggiori informazioni

Il carattere speciale fa riferimento a qualsiasi carattere al di fuori dello standard Standard Code for Information Interchange (ASCII) intervallo di caratteri di 0x00, ad esempio 0x7F, ad esempio caratteri latini con accenti, umlauti o altri segni diacritici. Lo schema di codifica predefinito per i documenti XML è UTF-8, che codifica i caratteri ASCII con un valore di 0x80 o superiore rispetto ad altri schemi di codifica standard.

Spesso questo problema viene visualizzato se si usano dati che usano lo schema di codifica iso-8859-1 semplice. In questo caso, la soluzione più rapida è in genere la prima elencata prima nella sezione Risoluzione . Ad esempio, usare la dichiarazione XML seguente:

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

È invece possibile codificare ognuno di questi caratteri usando il riferimento all'entità numerica. Ad esempio, è possibile accettare il carattere speciale á, usare <test> &#225;</test> (versione decimale) o <test>&#x00E1;</test> (versione esadecimale).