Click here to Skip to main content
15,893,266 members
Articles / Programming Languages / XML

Towards a Declarative SAX Framework : Part 1 - A Simple SAX-to-C#-Mapping

Rate me:
Please Sign up or sign in to vote.
4.51/5 (15 votes)
20 May 200422 min read 63K   893   33  
This article demonstrates a simple but flexible way to read XML content without DOM
<?xml version="1.0"?>
<doc>
    <assembly>
        <name>SAXFramework</name>
    </assembly>
    <members>
        <member name="T:SAXFramework.XMLDocument">
            <summary>
            
            </summary>
        </member>
        <member name="T:SAXFramework.XMLSimpleElement">
            <summary>
            Zusammenfassung für XMLSimpleElement.
            </summary>
        </member>
        <member name="T:SAXFramework.Impl.XMLDocumentImpl">
            <summary>
            Zusammenfassung für XMLDocument.
            </summary>
        </member>
        <member name="T:SAXFramework.Impl.XMLElementImpl">
            <summary>
            
            </summary>
        </member>
        <member name="T:SAXFramework.Impl.XMLSimpleElementImpl">
            <summary>
            
            </summary>
        </member>
        <member name="T:SAXFramework.Impl.SaxParserImpl">
            <summary>
            The System.Xml-namespace doesn't expose the SAX/SAX2-API. This class implements
            a wrapper to expose a SAX-like API for C#. Note that this pseudo api doesn't comply
            fully with the SAX specifications.
            </summary>
        </member>
        <member name="T:SAXFramework.SaxParser">
            <summary>
            
            </summary>
        </member>
        <member name="M:SAXFramework.Impl.SaxParserImpl.#ctor(System.Xml.XmlReader)">
            <summary>
            Creates a new instance of SaxParser from an existing XmlReader instance.
            </summary>
            <param name="src">The XmlReader instance to be created from. It is this instance that
            is used for parsing. No new XmlReader instance is created.</param>
        </member>
        <member name="M:SAXFramework.Impl.SaxParserImpl.#ctor(System.IO.Stream)">
            <summary>
            Creates a new instance of SaxParser from an existing stream. The stream must be
            open for reading.
            </summary>
            <param name="src">The stream to be created from.</param>
            <exception cref="T:System.NotSupportedException">Thrown if the stream doesn't support
            reading</exception>
        </member>
        <member name="M:SAXFramework.Impl.SaxParserImpl.parse(System.IO.Stream)">
            <summary>
            Parses the XML data from the associated XmlReader.
            </summary>
            <exception cref="T:System.Xml.XmlException">Thrown by XmlReader instance</exception>
        </member>
        <member name="P:SAXFramework.Impl.SaxParserImpl.RootElement">
            <summary>
            The XMLElementReader instance for the root element of the document, i.e. the top node
            with node type == XmlNodeType.Element in the document's node hierarchy.
            </summary>
        </member>
        <member name="T:SAXFramework.Impl.SaxValidatingParserImpl">
            <summary>
            Zusammenfassung für SaxValidatingParser.
            </summary>
        </member>
    </members>
</doc>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Web Developer
Germany Germany

Still lacking an university degree in computer science, I have 20 years of experience in software development and implementation. Having expert knowledge in object-oriented programming languages like C++, Java and C# on Windows, LINUX and UNIX platforms, I participated in multiple research projects at the University of Oldenburg. During these assignments, I was trusted with implementation of a graphical editor for specification languages like CSP or Z and a prototypical tool for workflow data distribution and analysis. I gained experiences in a widespread spectrum of CS and software development topics, ranging from compiler construction across data base programming to MDA. My research interests include questions of graphical user interface design and component-based systems.


I consider myself an old-school CS geek. While I admit that simple tasks do not pose much of a problem and can be done in quick and efficient manner, it's the challenging ones that appeal to me. If you are looking for a skillful employee - be it on a permanent, contract or freelance basis - and if you can live with a lacking university degree, why not contacting me?


Comments and Discussions