PRB: Fehlermeldung, wenn ein XML-Dokument niederwertigen ASCII-Zeichen enthält

Problembeschreibung

Wenn Sie versuchen, Version 3.0 oder höher des MSXML-Parsers XML-Dokumente analysieren, die bestimmte Low nicht druckbare ASCII-Zeichen (d. h. 32 ASCII-Zeichen) enthalten, erhalten Sie folgende Fehlermeldung:
Ein ungültiges Zeichen wurde im Textinhalt gefunden.

Ursache

Version 3.0 und höher des MSXML-Parsers erzwingen ausschließlich gültige Zeichenbereiche XML, die vom World Wide Web Consortium (W3C) XML-Sprachspezifikation definiert sind. XML-Dokumente, die mit Version 3.0 oder höher von MSXML analysiert werden enthalten keine Zeichen, die außerhalb des definierten gültigen XML-Zeichen Bereichs liegen. Niederwertigen nicht druckbare ASCII-Zeichen in den Bereichen, die im Abschnitt "Weitere Informationen" aufgeführt sind keine gültigen XML-Zeichen. Ein XML-Dokument mit Instanzen dieser Zeichen ist nicht konform mit den W3C-Spezifikationen und nicht erfolgreich analysiert werden, Versionen 3.0 und späteren Versionen von MSXML.

Problemlösung

Um dieses Problem zu beheben, entfernen Sie die niederwertigen nicht druckbare ASCII-Zeichen oder Ersetzen der Zeichen mit einer anderen gültigen Zeichen wie Leerzeichen (ASCII 32 Hex #x 20). Diese Lösung wird das XML-Dokument mit den W3C-Spezifikationen kompatibel. Jedoch Threaded entfernen oder ersetzen diese Zeichen Daten verwenden und die Zeichen, sind wesentlich. Diese Auswirkung kann nur durch Tests identifiziert und Implementieren der Lösung oder Behebung für eine bestimmte Situation behandelt werden müssen.

Status

Dieses Verhalten ist entwurfsbedingt.

Weitere Informationen

Version 2.6 von MSXML Parser zulassen auf Niedrig nicht druckbare ASCII-Zeichen enthalten, die außerhalb der W3C gültigen XML-Zeichenbereiche liegen. Jedoch wurde das Design der Versionen 3.0 und späteren Versionen von MSXML Parser enforce ausschließlich gültige Zeichenbereiche von XML, die in der Spezifikation W3C XML Sprache definiert geändert. Diese Designänderung muss nicht konformen XML-Dokumenten zu identifizieren.


Folgende sind gültige XML-Zeichen und Zeichenbereiche (hexadezimale Werte) gemäß Sprachspezifikationen W3C XML 1.0:
#x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]
Nachfolgend die Zeichenbereiche niederwertigen nicht druckbare ASCII-Zeichen von MSXML Version 3.0 und höher sind:
#x0 - #x8 (ASCII 0 - 8)#xB - #xC (ASCII 11 - 12)
#xE - #x1F (ASCII 14 - 31)

Diese Designänderung beeinträchtigen die folgenden Benutzer und Programme:
  • Internet Explorer-Benutzer: Benutzer, die haben Internet Explorer Version 5.5 und früher (und die im Ersetzungsmodus nicht MSXML 3.0 installiert hat) zum Durchsuchen und anzeigen, dass XML-Dokumente enthalten eine oder mehrere Instanzen der angegebenen niederwertigen nicht druckbare ASCII-Zeichen auftreten der Fehlermeldung nach der Aktualisierung auf Internet Explorer 6.0, weil Internet Explorer 6.0 MSXML 3.0 SP2 im Ersetzungsmodus installiert und Analysieren von XML-Dokumenten verwendet.
  • MDAC und ADO Benutzer: Entwickler und Benutzer ADO beibehalten XML-Dokumente laden, die eine oder mehrere Instanzen der angegebenen niederwertigen nicht druckbare ASCII-Zeichen in ADO-Recordset Objekte die Fehlermeldung enthalten auftreten nach der Aktualisierung auf MDAC 2.7, da MDAC 2.7 MSXML 3.0 SP2 installiert die Version des MSXML-Parsers ADO 2.7 Recordset-Objekt verwendet.
  • , Die die MSXML (DOKUMENTOBJEKTMODELL) verwenden: Version verwenden, generieren unabhängig PROGIDs MSXML DOM-Objekte instanziieren, die verwendet werden, um XML-Dokumente analysieren angegebenen Fehler bei MSXML 3.0 oder eines Servicepacks im Ersetzungsmodus oder Code bestimmte PROGIDs MSXML 3.0 oder 4.0 Version geändert wird.

Referenzen

Weitere Informationen zu anderen bekannten Ursachen und Abhilfen für die Fehlermeldung, die im Abschnitt "Symptome" angegeben ist, finden Sie zu die Artikeln der Microsoft Knowledge Base:
238833 PRB: XML-Parser: Ungültiges Zeichen wurde im Textinhalt gefunden
275883 INFO: XML-Codierung und DOM-Schnittstellenmethoden
Eigenschaften

Artikelnummer: 315580 – Letzte Überarbeitung: 21.01.2017 – Revision: 2

Feedback