XML-parser: er is een ongeldig teken gevonden in tekstinhoud

Dit artikel helpt u bij het oplossen van fouten bij het parseren van Extensible Markup Language (XML) die speciale tekens bevat met behulp van de Microsoft XML-parser (MSXML).

Oorspronkelijke productversie: .NET Framework
Origineel KB-nummer: 238833

Symptoom

Wanneer u XML parseert die speciale tekens bevat met behulp van de Microsoft XML-parser (MSXML), kan de parser het volgende foutbericht melden op de regel en positie van het eerste speciale teken:

Er is een ongeldig teken gevonden in tekstinhoud.

Oorzaak

Het XML-document is niet gemarkeerd met het juiste tekencoderingsschema.

Oplossing

  • Geef het juiste coderingsschema op in de XML-verwerkingsinstructie.
  • Codeer de XML-gegevens opnieuw als de juiste UTF-8.

Status

Dit gedrag is inherent aan het ontwerp van het product.

Meer informatie

Speciaal teken verwijst naar elk teken buiten de standaard american Standard Code for Information Interchange (ASCII) tekensetbereik van 0x00 - 0x7F, zoals Latijnse tekens met accenten, umlauts of andere diakritische tekens. Het standaardcoderingsschema voor XML-documenten is UTF-8, waarmee ASCII-tekens worden gecodeerd met een waarde van 0x80 of hoger, anders dan andere standaardcoderingsschema's.

Meestal treedt dit probleem op als u werkt met gegevens die gebruikmaken van het eenvoudige iso-8859-1-coderingsschema. In dit geval is de snelste oplossing meestal de eerste die eerder wordt vermeld in de sectie Oplossing . Gebruik bijvoorbeeld de volgende XML-declaratie:

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

In plaats daarvan kunt u elk van deze tekens coderen met behulp van de verwijzing naar de numerieke entiteit. U kunt bijvoorbeeld het speciale teken รก, (decimale versie) of <test>&#x00E1;</test> (hexversie) gebruiken <test> &#225;</test> .