XmlTextReader surft im Internet zu www.w3.org

26/06/2008 - 16:17 von Lutz Elßner | Report spam
In einen XmlTextReader lese ich ein aspx WebForm ein.
Das beginnt mit der Deklaration:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xht...">

nachdem der XmlTextReader diese erste Zeile gelesen hat, will er über das Internet auf www.w3.org zugreifen.
Das klingt irgendwie logisch, aber lokal ist nicht immer eine Internet Verbindung vorhanden.
Und auch sonst will ich nicht vom Erfolg dieser Verbindung abhàngig sein.

Kann ich dem XmlTextReader abgewöhnen, heimlich im Internet zu surfen?

Wenn nicht, wie kann ich ein solches XHTML Dokument noch verarbeiten?

Lutz
 

Lesen sie die antworten

#1 Christoph Schneegans
26/06/2008 - 17:16 | Warnen spam
Lutz Elßner schrieb:

nachdem der XmlTextReader diese erste Zeile gelesen hat, will er
über das Internet auf www.w3.org zugreifen.



Wenn du weißt, daß keine Entity-Referenzen wie &auml; oder &nbsp;
vorkommen, kannst du einfach .XmlResolver auf Nothing setzen.
Ansonsten <http://schneegans.de/temp/xhtml-chars.xml> lokal speichern
und .XmlResolver auf eine eigene Ableitung von XmlUrlResolver setzen,
deren GetEntity-Methode folgendes tut:

. Für bekannte XHTML-PIs wie "-//W3C//DTD XHTML 1.0 Transitional//EN"
oder -SIs wie
"http://www.w3.org/TR/xhtml1/DTD/xht....dtd" einen
Stream mit der o.g. Datei zurückgeben. Validieren willst du ja
vermutlich nicht.

. Ansonsten einen leeren MemoryStream zurückgeben.

<http://schneegans.de/web/xhtml/> · Klare Antworten zu XHTML

Ähnliche fragen