Writing an XmlPyxReader
To read a PYX file, you need to write a
subclass of XmlReader
. The basic process for
writing a subclass of XmlReader
follows.
First, you’ll want to write a skeleton class that implements all the abstract properties and methods of
XmlReader
. Initially, you’ll want to stub them out so that you can make sure your code can always be compiled, even though it may not be fully functional yet. I recommend having the stub methods and properties throw aNotImplementedException
rather than returning a default value, so that you don’t depend on the some default value that the unfinished stub code returns. Returning a default value might fool you into thinking that the code is working properly when all it’s doing is returning some hard-coded value!Next, you need to define the underlying mechanism that your
XmlReader
subclass will use to traverse its data source. Although it appears to the user that theXmlReader.Read( )
method moves the node pointer to the next node, what that really means in terms of theXmlReader
subclass’s internal state may be completely different. This step may include defining astruct
, a private class, or several data members to hold the reader’s state.You may find it useful to write some tests for the code so that you’ll know how well your
XmlReader
subclass works. As part of your tests, you should read the equivalent data usingXmlTextReader
and yourXmlReader
subclass, to make sure they both behave in the same way.Finally, you can fill ...
Get .NET & XML now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.