[
Lists Home |
Date Index |
Thread Index
]
Is there any known problem with the handling of singnificant whitespace in
the .NET XmlReader ???
... or better ...
Is there any significant whitespace handling at all ???
The following code snipplet
<code>
string xml = "<!DOCTYPE a [\n<!ENTITY uuml \"ü\">\n]>\n<a> <b>
aasdf </b>" +
"<c>asdfasdf dadf<d/>asd<d>asdfasd</d> üadasdf
asd ü asdf asdf </c>\n" +
"</a>";
XmlTextReader reader = new XmlTextReader(new
System.IO.StringReader(xml));
reader.WhitespaceHandling = WhitespaceHandling.All;
while (reader.Read()) {
System.Diagnostics.Trace.WriteLine(
"[" + reader.NodeType + "] " + reader.Name + " ==>
\"" + reader.Value + "\""
);
}
</code>
Produces the same output for WhitespaceHandling.Significant and
WhitespaceHandling.None and for WhitespaceHandling.All the only whitespace
relevant node type returned is 'Whitespace' (see output later on).
Bye
Axel
<output>
For WhitespaceHandling.None:
[DocumentType] a ==> "
<!ENTITY uuml "ü">
"
[Element] a ==> ""
[Element] b ==> ""
[Text] ==> " aasdf "
[EndElement] b ==> ""
[Element] c ==> ""
[Text] ==> "asdfasdf dadf"
[Element] d ==> ""
[Text] ==> "asd"
[Element] d ==> ""
[Text] ==> "asdfasd"
[EndElement] d ==> ""
[EntityReference] uuml ==> ""
[Text] ==> "adasdf asd "
[EntityReference] uuml ==> ""
[Text] ==> " asdf asdf "
[EndElement] c ==> ""
[EndElement] a ==> ""
For WhitespaceHandling.Significant:
[DocumentType] a ==> "
<!ENTITY uuml "ü">
"
[Element] a ==> ""
[Element] b ==> ""
[Text] ==> " aasdf "
[EndElement] b ==> ""
[Element] c ==> ""
[Text] ==> "asdfasdf dadf"
[Element] d ==> ""
[Text] ==> "asd"
[Element] d ==> ""
[Text] ==> "asdfasd"
[EndElement] d ==> ""
[EntityReference] uuml ==> ""
[Text] ==> "adasdf asd "
[EntityReference] uuml ==> ""
[Text] ==> " asdf asdf "
[EndElement] c ==> ""
[EndElement] a ==> ""
For WhitespaceHandling.All:
[DocumentType] a ==> "
<!ENTITY uuml "ü">
"
[Whitespace] ==> "
"
[Element] a ==> ""
[Whitespace] ==> " "
[Element] b ==> ""
[Text] ==> " aasdf "
[EndElement] b ==> ""
[Element] c ==> ""
[Text] ==> "asdfasdf dadf"
[Element] d ==> ""
[Text] ==> "asd"
[Element] d ==> ""
[Text] ==> "asdfasd"
[EndElement] d ==> ""
[Whitespace] ==> " "
[EntityReference] uuml ==> ""
[Text] ==> "adasdf asd "
[EntityReference] uuml ==> ""
[Text] ==> " asdf asdf "
[EndElement] c ==> ""
[Whitespace] ==> "
"
[EndElement] a ==> ""
</output>
--
Axel Eckenberger
Software-Project-Manager
CSDB und Retrieval Software
Krauss-Maffei Wegmann GmbH & Co. KG
Tel.: +49 89 8140-4408
e-mail: Extern.Eckenberger@kmweg.de (work)
axel@eckenberger.de (private)
|