Tuesday, November 30, 2004
How to use/not use XmlTextReader
Thom Robbins is a great guy, but unfortunately for him he has bumped into one of my major pet peeves, Viral Coding Examples with his Introducing the XmlTextReader post. It really isn’t his fault, since the code he uses is very similar to the code example in the XmlTextReader.Read() documentation. . .
So, what is a better example for an introduction to the XmlTextReader? Explicitly control when a Read is executed.
XmlRead.WhitespaceHandling = WhitespaceHandling.None
Dim Continue as Boolean
If xmlRead.Read = False then
Continue = False
End If
While Continue
If xmlRead.IsStartElement then
If xmlRead.Name = “level2” then
MsgBox(xmlRead.ReadInnerXml())
Else
Continue = xmlRead.Read()
End If
Else
Continue = xmlRead.Read()
End If
End WhileNow we have explicit control over when a Read is executed, and in the case of rogue methods that place your cursor to the next node (that you haven’t tested yet), you can skip the implicit Read.