The API of the EXI/.NET runtime library includes a number of classes. Two of those classes, OssExiXmlReader and OssExiXmlWriter, are derived from the .NET framework abstract classes System.Xml.XmlReader and System.Xml.XmlWriter and are meant to facilitate the use of this library by those familiar with XML programming in .NET. Reading and writing EXI streams using OssExiXmlReader and OssExiXmlWriter is much like reading and writing XML documents using System.Xml.XmlTextReader and System.Xml.XmlTextWriter.
The EXI/.NET runtime library supports two different approaches for creating or processing an EXI stream. In the first approach, the user application reads or writes the EXI document or fragment one node at a time, by calling one or more API class methods or properties for each node (usually a method or property of System.Xml.XmlReader or System.Xml.XmlWriter such as Read, GetAttribute, MoveToFirstAttribute, LocalName, WriteStartElement, etc.). In the second approach, the user application makes a single call to an API class method that converts an entire document or fragment from EXI to XML or from EXI to XML. For an application that only needs to read or write EXI streams (with no XML involved), the first approach is faster. The second approach may be more convenient when a developer must add EXI to an existing application that reads or writes XML.
The EXI/.NET runtime library also includes some advanced features that aim to increase EXI encoding/decoding performance. One of them is the ability to pass binary values instead of strings across the API (in both directions) for the values of non-string XSD datatypes (e.g., xsd:integer, xsd:float, xsd:base64Binary, etc.) as well as for the values of enumerated datatypes.
Trial the EXI Tools for .NET today!
We are here: 24 hours a day, 7 days a week.
Quickly receive answers to your support questions.