XmlDataSource

XmlDataSource class

Provides access to data of an XML file or stream to be used while assembling a document.

public class XmlDataSource

Constructors

Name Description
XmlDataSource(Stream) Creates a new data source with data from an XML stream using default options for XML data loading.
XmlDataSource(string) Creates a new data source with data from an XML file using default options for XML data loading.
XmlDataSource(Stream, Stream) Creates a new data source with data from an XML stream using an XML Schema Definition stream. Default options are used for XML data loading.
XmlDataSource(Stream, XmlDataLoadOptions) Creates a new data source with data from an XML stream using the specified options for XML data loading.
XmlDataSource(string, string) Creates a new data source with data from an XML file using an XML Schema Definition file. Default options are used for XML data loading.
XmlDataSource(string, XmlDataLoadOptions) Creates a new data source with data from an XML file using the specified options for XML data loading.
XmlDataSource(Stream, Stream, XmlDataLoadOptions) Creates a new data source with data from an XML stream using an XML Schema Definition stream. The specified options are used for XML data loading.
XmlDataSource(string, string, XmlDataLoadOptions) Creates a new data source with data from an XML file using an XML Schema Definition file. The specified options are used for XML data loading.

Remarks

To access data of the corresponding file or stream while assembling a document, pass an instance of this class as a data source to one of DocumentAssembler.AssembleDocument overloads.

In template documents, if a top-level XML element contains only a list of elements of the same type, an XmlDataSource instance should be treated in the same way as if it was a DataTable instance. Otherwise, an XmlDataSource instance should be treated in the same way as if it was a DataRow instance. For more information, see template syntax reference (https://docs.groupdocs.com/display/assemblynet/Template+Syntax+-+Part+1+of+2#TemplateSyntax-Part1of2-UsingDataSources).

When XML Schema Definition is passed to a constructor of this class, data types of values of simple XML elements and attributes are determined according to the schema. So in template documents, you can work with typed values rather than just strings.

When XML Schema Definition is not passed to a constructor of this class, data types of values of simple XML elements and attributes are determined automatically upon their string representations. So in template documents, you can work with typed values in this case as well. The engine is capable to automatically recognize values of the following types:

  • long?
  • double?
  • bool?
  • DateTime?
  • string

Note that for automatic recognition of data types to work, string representations of values of simple XML elements and attributes should be formed using invariant culture settings.

To override default behavior of XML data loading, initialize and pass a XmlDataLoadOptions instance to a constructor of this class.

See Also