Writing an XmlPyxReader
To read a PYX file, you need to write a
XmlReader. The basic process for
writing a subclass of
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 a
NotImplementedExceptionrather 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
XmlReadersubclass will use to traverse its data source. Although it appears to the user that the
XmlReader.Read( )method moves the node pointer to the next node, what that really means in terms of the
XmlReadersubclass’s internal state may be completely different. This step may include defining a
struct, 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
XmlReadersubclass works. As part of your tests, you should read the equivalent data using
XmlReadersubclass, to make sure they both behave in the same way.
Finally, you can fill ...