System.Xml [00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00] 1.0.5000.0 2.0.0.0 4.0.0.0 To be added System.Object System.Collections.IEnumerable System.ICloneable System.Xml.XPath.IXPathNavigable This class implements the W3C Document Object Model (DOM) Level 1 Core and the Core DOM Level 2. The DOM is an in-memory (cache) tree representation of an XML document. XmlNode is the base class in the .NET implementation of the DOM. It supports XPath selections and provides editing capabilities. The class extends XmlNode and represents an XML document. You can use XmlDocument to load and save XML data. It also includes methods for node creation. See [<topic://cpconXMLDocumentObjectModelDOM>] for more information. Exceptions raised as a result of using the class, such as the class may contain sensitive information that should not be exposed in untrusted scenarios. Exceptions should be properly handled so that this sensitive information is not exposed in untrusted scenarios. Represents a single node in the XML document. Method 1.0.5000.0 2.0.0.0 4.0.0.0 System.Xml.XmlNode If the is already in the tree, it is removed from its original position and added to its target position. For more information about inserting nodes, see Inserting Nodes into an XML Document. If the node being inserted was created from another document, you can use to import the node to the current document. The imported node can then be inserted into the current document. Adds the specified node to the end of the list of child nodes, of this node. The node added. The node to add. All the contents of the node to be added are moved into the specified location. Property 1.0.5000.0 2.0.0.0 4.0.0.0 System.Xml.XmlAttributeCollection A collection of attributes. None. Gets an containing the attributes of this node. Property 1.0.5000.0 2.0.0.0 4.0.0.0 System.String The base URI of the node, or an empty string if the node has no base URI. A networked XML document is comprised of chunks of data aggregated using various W3C standard inclusion mechanisms and therefore contains nodes that come from different places. The BaseURI tells you where these nodes came from. The value of this property varies depending on the node type. For example, Document nodes return the location of the object. Nodes which are child nodes of external EntityReference nodes return the location of the entity itself. For example, consider the following XML document: <!DOCTYPE item [ <!ENTITY xyz SYSTEM "a/b.xml"> ]> <item num='123'>&xyz;</item> where the external entity a/b.xml contains the XML text: <test>123</test>. If the document is loaded from http://server/mydata.xml, BaseURI returns the following: NodeType Name BaseURI Attribute num http://server/mydata.xml Document #document http://server/mydata.xml DocumentType item http://server/mydata.xml Entity xyz http://server/mydata.xml Element item http://server/mydata.xml EntityReference xyz http://server/mydata.xml Element test http://server/a/b.xml Text #text http://server/a/b.xml BaseURI looks for entity reference boundaries, so if entities are expanded this information is not preserved and this property returns the location of the XmlDocument object in all cases. As a second example, given the following XML document: <!DOCTYPE Mydata SYSTEM "http://localhost/doctype.dtd"> <baa>&xyz;</baa> where the DTD file contains the following: <!ENTITY xyz <E1>My Data</E1> <!ELEMENT baa #PCDATA> <!ATTLIST baa attr1 "woof"> If the XML document is loaded from http://localhost/mydata.xml, BaseURI returns the following for each of the nodes: NodeType Name BaseURI Document #document http://localhost/mydata.xml DocumentType Mydata http://localhost/mydata.xml The or properties can be used to identify where the DTD file was loaded from. Element baa http://localhost/mydata.xml Entity xyz http://localhost/doctype.dtd EntityReference xyz http://localhost/mydata.xml Attribute woof http://localhost/mydata.xml The base URI of a default attribute is the same as the base URI of the element to which they belong. This property is a Microsoft extension to the Document Object Model (DOM). Gets the base URI of the current node. Property 1.0.5000.0 2.0.0.0 4.0.0.0 System.Xml.XmlNodeList The children of this node. A node's children are an ordered list of nodes. Gets all the child nodes of the node. Method 1.0.5000.0 2.0.0.0 4.0.0.0 System.Xml.XmlNode Cloning an copies all attributes and their values, including those generated by the XML processor to represent defaulted attributes. This method recursively clones the node and the subtree underneath it. Clone is equivalent to calling CloneNode(true). The following table describes the specific behavior for each . XmlNodeType Clone Attribute Clones the attribute node, including child nodes. CData Clones the CData node, including its data content. Comment Clones the comment node, including its text content. Document Clones the document node, including any child nodes. DocumentFragment Clones the document fragment node, including any child nodes. DocumentType Clones the document type node. Element Clones the element node, its attributes, and any child nodes. Entity Entity nodes cannot be cloned. EntityReference Clones the entity reference node. The replacement text is not included. Notation Notation nodes cannot be cloned. ProcessingInstruction Clones the processing instruction node, including its target and data. SignificantWhitespace Clones the significant white space node, including its data value. Text Clones the text node, including its data value. Whitespace Clones the white space node, including its data value. XmlDeclaration Clones the XmlDeclaration node, including its data value. All other node types. These node types cannot be cloned. This method is a Microsoft extension to the Document Object Model (DOM). Creates a duplicate of this node. The cloned node. Method 1.0.5000.0 2.0.0.0 4.0.0.0 System.Xml.XmlNode This method serves as a copy constructor for nodes. The duplicate node has no parent ( returns null). The following table describes the specific behavior for each . XmlNodeType CloneNode(true) CloneNode(false) Attribute Clones the attribute node, including child nodes. Clones the attribute node, including child nodes. CData Clones the CData node, including its data content. Clones the CData node, including its data content. Comment Clones the comment node, including its text content. Clones the comment node, including its text content. Document Clones the document node, including any child nodes. Clones the document node. DocumentFragment Clones the document fragment node, including any child nodes. Clones the document fragment node. DocumentType Clones the document type node. Clones the document type node. Element Clones the element node, its attributes, and any child nodes. Clones the element node and its attributes, including any default attributes. Entity Entity nodes cannot be cloned. Entity nodes cannot be cloned. EntityReference Clones the entity reference node. The replacement text is not included. Clones the entity reference node. The replacement text is not included. Notation Notation nodes cannot be cloned. Notation nodes cannot be cloned. ProcessingInstruction Clones the processing instruction node, including its target and data. Clones the processing instruction node, including its target and data. SignificantWhitespace Clones the significant white space node, including its data value. Clones the significant white space node, including its data value. Text Clones the text node, including its data value. Clones the text node, including its data value. Whitespace Clones the white space node, including its data value. Clones the white space node, including its data value. XmlDeclaration Clones the XmlDeclaration node, including its data value. Clones the XmlDeclaration node, including its data value. All other node types. These node types cannot be cloned. These node types cannot be cloned. Creates a duplicate of the node, when overridden in a derived class. The cloned node. true to recursively clone the subtree under the specified node; false to clone only the node itself. Method 1.0.5000.0 2.0.0.0 4.0.0.0 System.Xml.XPath.XPathNavigator The XPathNavigator provides read-only, random access to data. Because it is optimized for XSLT transformations, it provides performance benefits when used as an input mechanism to the method. This method is a Microsoft extension to the Document Object Model (DOM). Creates an for navigating this object. An XPathNavigator object used to navigate the node. The XPathNavigator is positioned on the node from which the method was called. It is not positioned on the root of the document. Property 1.0.5000.0 2.0.0.0 4.0.0.0 System.Xml.XmlNode The first child of the node, or null if the node has no children. None. Gets the first child of the node. Method 1.0.5000.0 2.0.0.0 4.0.0.0 System.Collections.IEnumerator Provides support for the “for each” style iteration over the nodes in the XmlNode. This method is a Microsoft extension to the Document Object Model (DOM). Get an enumerator that iterates through the child nodes in the current node. An object that can be used to iterate through the child nodes in the current node. Method 1.0.5000.0 2.0.0.0 4.0.0.0 System.String This method is a Microsoft extension to the Document Object Model (DOM). Looks up the closest xmlns declaration for the given prefix that is in scope for the current node and returns the namespace URI in the declaration. The namespace URI of the specified prefix. The prefix whose namespace URI you want to find. Method 1.0.5000.0 2.0.0.0 4.0.0.0 System.String This method is a Microsoft extension to the Document Object Model (DOM). Looks up the closest xmlns declaration for the given namespace URI that is in scope for the current node and returns the prefix defined in that declaration. The prefix for the specified namespace URI. The namespace URI whose prefix you want to find. Property 1.0.5000.0 2.0.0.0 4.0.0.0 System.Boolean True if the node has children, otherwise false. None. Gets a value indicating whether this node has any child nodes. Property 1.0.5000.0 2.0.0.0 4.0.0.0 System.String To be added: an object of type 'string' Setting this property replaces all the child nodes with the parsed contents of the given string. For leaf nodes, InnerText returns the same content as the property. This property is a Microsoft extension to the Document Object Model (DOM). Gets or sets the concatenated values of the node and all its child nodes. Property 1.0.5000.0 2.0.0.0 4.0.0.0 System.String The contents of the node as an Xml string. When getting the value of this property, InnerXml returns the same string that would write to an . When setting the value of this property, the value is parsed as Xml, and the current children of the node are replaced by the nodes parsed from the string. Attempting to set this property from a node that cannot have child nodes, for example a Text node, throws an exception. Otherwise, setting InnerXml replaces the child nodes, of the node, with the parsed contents of the given string. The parsing is done in the current namespace context. This property is a Microsoft extension to the Document Object Model (DOM). InnerXml is not an efficient way to modify the DOM. There may be performance issues when replacing complex nodes. It is more efficient to construct nodes and use methods such as InsertBefore, InsertAfter, AppendChild, and RemoveChild to modify the Xml document. Gets or sets the markup representing only the child nodes of this node. Method 1.0.5000.0 2.0.0.0 4.0.0.0 System.Xml.XmlNode If is null, insert at the beginning of the list of child nodes. All the contents of the are inserted, in the same order, after . If the is already in the tree, it is removed from its original position and added to its target position. For more information about inserting nodes, see Inserting Nodes into an XML Document. If the node being inserted was created from another document, you can use to import the node to the current document. The imported node can then be inserted into the current document. This method is a Microsoft extension to the Document Object Model (DOM). Inserts the specified node immediately after the specified reference node. The node being inserted. The XmlNode to insert. The XmlNode that is the reference node. The is placed after the . Method 1.0.5000.0 2.0.0.0 4.0.0.0 System.Xml.XmlNode If is null, insert at the end of the list of child nodes. All the contents of the are inserted, in the same order, before . If the is already in the tree, it is removed from its original position and added to its target position. For more information about inserting nodes, see Inserting Nodes into an XML Document. If the node being inserted was created from another document, you can use to import the node to the current document. The imported node can then be inserted into the current document. Inserts the specified node immediately before the specified reference node. The node being inserted. The XmlNode to insert. The XmlNode that is the reference node. The is placed before this node. Property 1.0.5000.0 2.0.0.0 4.0.0.0 System.Boolean Whether the node is read-only. A read-only node is one whose properties, attributes, or child nodes cannot be changed. You can remove a read-only node from the tree and insert it somewhere else. For example, Entity nodes are always read-only. This property is a Microsoft extension to the Document Object Model (DOM). Gets a value indicating whether the node is read-only. Property 1.0.5000.0 2.0.0.0 4.0.0.0 System.Xml.XmlElement The name of the child element to return. Gets the child element with the given name. The child element whose is , or null if no child element has that name. None. Property 1.0.5000.0 2.0.0.0 4.0.0.0 System.Xml.XmlElement The local name of the element to return. The namespace URI of the element to return. Gets the child element with the given local name and namespace URI. The child element whose is and is , or null if no child element has that name. None. Property 1.0.5000.0 2.0.0.0 4.0.0.0 System.Xml.XmlNode The last child of this node, or null if the node has no children. None. Gets the last child of the node. Property 1.0.5000.0 2.0.0.0 4.0.0.0 System.String The local name of the node. For nodes with qualified names, the local name is the portion of the name after the colon. If the node does not have a prefix, LocalName is the same as . Gets the local name of the node, when overridden in a derived class. Property 1.0.5000.0 2.0.0.0 4.0.0.0 System.String The fully qualified name of the node. This is a string consisting of both the and the of the node, separated by a ':' character. Gets the qualified name of the node, when overridden in a derived class. Property 1.0.5000.0 2.0.0.0 4.0.0.0 System.String The URI of the namespace of the node. This is the namespace URI specified at creation time. For example, NamespaceURI is urn:samples for the element <bk:book xmlns:bk= "urn:samples"> An attribute does not inherit its namespace from the element it is attached to. If an attribute is not explicitly given a namespace, it simply has no namespace. Gets the namespace URI of this node. Property 1.0.5000.0 2.0.0.0 4.0.0.0 System.Xml.XmlNode The next node that follows this one, or null if this is the last node in its parent's children. The node after this one in the 's collection. Gets the node immediately following this node. Property 1.0.5000.0 2.0.0.0 4.0.0.0 System.Xml.XmlNodeType A value from that indicates the type of this node. This property never returns the XmlNodeType EndElement, EndEntity or None. Gets the type of the current node, when overridden in a derived class. Method 1.0.5000.0 2.0.0.0 4.0.0.0 System.Void This method can be used to ensure that the DOM view of a document is the same as if it were saved and re-loaded, and is useful when operations (such as XPointer lookups) that depend on a particular document tree structure are to be used. Puts all XmlText nodes in the full depth of the sub-tree underneath this XmlNode into a "normal" form where only markup (that is, tags, comments, processing instructions, CDATA sections, and entity references) separates XmlText nodes, that is, there are no adjacent XmlText nodes. Property 1.0.5000.0 2.0.0.0 4.0.0.0 System.String A string representing this node. If the node is an element, the start and end tags are included. This property is a Microsoft extension to the Document Object Model (DOM). Gets the markup containing this node and all its child nodes. Property 1.0.5000.0 2.0.0.0 4.0.0.0 System.Xml.XmlDocument The that owns this node. When adding nodes to the current node, use the returned by the property to create the node. Gets the to which this node belongs. Property 1.0.5000.0 2.0.0.0 4.0.0.0 System.Xml.XmlNode The node that this node is a child of, or null if this is an or the node is not contained in a document tree. None. Gets the parent of this node (for nodes that can have parents). Property 1.0.5000.0 2.0.0.0 4.0.0.0 System.String The prefix of the node, or the empty string if the node has no prefix. Setting this property, when permitted, changes the property, which holds the qualified name, on Element and Attribute nodes. Setting this property on node types that cannot have a prefix (such as Text, Comment, EntityReference, CDATA, ProcessingInstruction, Document, and DocumentFragment) has no effect. Changing the prefix of an attribute that is known to have a default value, does not make a new attribute with the default value and the original prefix appear, since the namespace URI and local name do not change. Gets or sets the namespace prefix of this node. Method 1.0.5000.0 2.0.0.0 4.0.0.0 System.Xml.XmlNode If the is already in the tree, it is removed from its original position and added to its target position. For more information about inserting nodes, see Inserting Nodes into an XML Document. If the node being inserted was created from another document, you can use to import the node to the current document. The imported node can then be inserted into the current document. This method is a Microsoft extension to the Document Object Model (DOM). Adds the specified node to the beginning of the list of child nodes for this node. The node added. The node to add. All the contents of the node to be added are moved into the specified location. Property 1.0.5000.0 2.0.0.0 4.0.0.0 System.Xml.XmlNode The node that comes before this one, or null if this is the first node in its parent's children. The node before this one in the 's collection. Gets the node immediately preceding this node. Method 1.0.5000.0 2.0.0.0 4.0.0.0 System.Void If a removed attribute is known to have a default value, an attribute immediately appears containing the default value and, if applicable, the corresponding namespace URI, local name, and prefix. This method is a Microsoft extension to the Document Object Model (DOM). Removes all the child nodes and/or attributes of the current node. Method 1.0.5000.0 2.0.0.0 4.0.0.0 System.Xml.XmlNode None. Removes specified child node. The node removed. The node being removed. Method 1.0.5000.0 2.0.0.0 4.0.0.0 System.Xml.XmlNode If the is already in the tree, it is first removed. If the was created from another document, you can use to import the node to the current document. The imported node can then be passed to the ReplaceChild method. Replaces the child node with node. The node replaced. The new node to put in the child list. The node being replaced in the list. Property 2.0.0.0 4.0.0.0 System.Xml.Schema.IXmlSchemaInfo To be added. The property is set when this node is validatied. Gets the post schema validation infoset that has been assigned to this node as a result of schema validation. Method 1.0.5000.0 2.0.0.0 4.0.0.0 System.Xml.XmlNodeList If the XPath expression requires namespace resolution, you must use the SelectNodes overload which takes an as its argument. The XmlNamespaceManager is used to resolve namespaces. If the XPath expression does not include a prefix, it is assumed that the namespace URI is the empty namespace. If your XML includes a default namespace, you must still use the XmlNamespaceManager and add a prefix and namespace URI to it; otherwise, you will not get any nodes selected. For more information, see Select Nodes Using XPath Navigation. A common issue when formulating XPath expressions is how to include a single quote (') or double quote (") in the expression. If you have to search for a value that includes a single quote, you must enclose the string in double quotes. If you need to search for a value that includes a double quote, you must enclose the string in single quotes. For example, suppose you have the following XML: <bookstore> <book> <title>&apos;Emma&apos;</title> </book> </bookstore> The following Visual Basic code selects an element that contains single quotes: nodeList = root.SelectNodes("//book[contains(title,""'Emma'"")]") This method is a Microsoft extension to the Document Object Model (DOM). The object returned by this method will be valid while the underlying document remains unchanged. If the underlying document changes, unexpected results may be returned (no exception will be thrown). Selects a list of nodes matching the XPath expression. An containing a collection of nodes matching the XPath query. The XPath expression. Method 1.0.5000.0 2.0.0.0 4.0.0.0 System.Xml.XmlNodeList XPath expressions can include namespaces. Namespace resolution is supported using the XmlNamespaceManager. If the XPath expression includes a prefix, the prefix and namespace URI pair must be added to the XmlNamespaceManager. If the XPath expression does not include a prefix, it is assumed that the namespace URI is the empty namespace. If your XML includes a default namespace, you must still add a prefix and namespace URI to the XmlNamespaceManager; otherwise, you will not get any nodes selected. For more information, see Select Nodes Using XPath Navigation. For example, if you had the following XML: <bookstore xmlns="http://www.lucernepublishing.com"> <book> <title>Pride And Prejudice</title> </book> </bookstore> The following C# code selects all book nodes: XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable); nsmgr.AddNamespace("ab", "http://www.lucernepublishing.com"); XmlNodeList nodelist = doc.SelectNodes("//ab:book", nsmgr); A common issue when formulating XPath expressions is how to include a single quote (') or double quote (") in the expression. If you have to search for a value that includes a single quote, you must enclose the string in double quotes. If you need to search for a value that includes a double quote, you must enclose the string in single quotes. For example, suppose you have the following XML: <bookstore xmlns="http://www.lucernepublishing.com"> <book> <title>&apos;Emma&apos;</title> </book> </bookstore> The following Visual Basic code selects an element that contains single quotes: Dim nsmgr As XmlNamespaceManager = New XmlNamespaceManager(doc.NameTable) nsmgr.AddNamespace("ab", "http://www.lucernepublishing.com") nodeList = root.SelectNodes("//ab:book[contains(ab:title,""'Emma'"")]", nsmgr) This method is a Microsoft extension to the Document Object Model (DOM). The object returned by this method will be valid while the underlying document remains unchanged. If the underlying document changes, unexpected results may be returned (no exception will be thrown). Selects a list of nodes matching the XPath expression. Any prefixes found in the XPath expression are resolved using the supplied . An containing a collection of nodes matching the XPath query. The XPath expression. An to use for resolving namespaces for prefixes in the XPath expression. Method 1.0.5000.0 2.0.0.0 4.0.0.0 System.Xml.XmlNode If the XPath expression requires namespace resolution, you must use the SelectSingleNode overload which takes an as its argument. The XmlNamespaceManager is used to resolve namespaces. If the XPath expression does not include a prefix, it is assumed that the namespace URI is the empty namespace. If your XML includes a default namespace, you must still use the XmlNamespaceManager and add a prefix and namespace URI to it; otherwise, you will not get a selected node. For more information, see Select Nodes Using XPath Navigation. A common issue when formulating XPath expressions is how to include a single quote (') or double quote (") in the expression. If you have to search for a value that includes a single quote, you must enclose the string in double quotes. If you need to search for a value that includes a double quote, you must enclose the string in single quotes. For example, suppose you have the following XML: <bookstore> <book> <title>&apos;Emma&apos;</title> </book> </bookstore> The following Visual Basic code selects an element that contains single quotes: book = root.SelectSingleNode("descendant::book[title=""'Emma'""]") This method is a Microsoft extension to the Document Object Model (DOM). Selects the first XmlNode that matches the XPath expression. The first XmlNode that matches the XPath query or null if no matching node is found. The XmlNode should not be expected to be connected "live" to the XML document. That is, changes that appear in the XML document may not appear in the XmlNode, and vice versa. The XPath expression. Method 1.0.5000.0 2.0.0.0 4.0.0.0 System.Xml.XmlNode XPath expressions can include namespaces. Namespace resolution is supported using the XmlNamespaceManager. If the XPath expression includes a prefix, the prefix and namespace URI pair must be added to the XmlNamespaceManager. If the XPath expression does not include a prefix, it is assumed that the namespace URI is the empty namespace. If your XML includes a default namespace, you must still add a prefix and namespace URI to the XmlNamespaceManager; otherwise, you will not get a node selected. For more information, see Select Nodes Using XPath Navigation. For example, if you had the following XML: <bookstore xmlns="http://www.lucernepublishing.com"> <book> <title>Pride And Prejudice</title> </book> </bookstore> The following C# code selects the first book node: XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable); nsmgr.AddNamespace("ab", "http://www.lucernepublishing.com"); XmlNode book = doc.SelectSingleNode("//ab:book", nsmgr); A common issue when formulating XPath expressions is how to include a single quote (') or double quote (") in the expression. If you have to search for a value that includes a single quote, you must enclose the string in double quotes. If you need to search for a value that includes a double quote, you must enclose the string in single quotes. For example, suppose you have the following XML: <bookstore xmlns="http://www.lucernepublishing.com"> <book> <title>&apos;Emma&apos;</title> </book> </bookstore> The following Visual Basic code selects an element that contains single quotes: Dim nsmgr As XmlNamespaceManager = New XmlNamespaceManager(doc.NameTable) nsmgr.AddNamespace("ab", "http://www.lucernepublishing.com") book = root.SelectSingleNode("descendant::ab:book[ab:title=""'Emma'""]", nsmgr) This method is a Microsoft extension to the Document Object Model (DOM). Selects the first XmlNode that matches the XPath expression. Any prefixes found in the XPath expression are resolved using the supplied . The first XmlNode that matches the XPath query or null if no matching node is found. The XmlNode should not be expected to be connected "live" to the XML document. That is, changes that appear in the XML document may not appear in the XmlNode, and vice versa. The XPath expression. An to use for resolving namespaces for prefixes in the XPath expression. Method 1.0.5000.0 2.0.0.0 4.0.0.0 System.Boolean This method currently returns true only when is "xml" and is "1.0" or "2.0". This is the equivalent behavior that W3C Document Object Model Level 2 expects. However, it does not mean that this document object model really conforms to the W3C standard. Actually it does not conform to the standard. Tests if the DOM implementation implements a specific feature. true if the feature is implemented in the specified version; otherwise, false. The following table describes the combinations that return true. Feature Version XML 1.0 XML 2.0 The package name of the feature to test. This name is not case-sensitive. The version number of the package name to test. If the version is not specified (null), supporting any version of the feature causes the method to return true. Method 1.0.5000.0 2.0.0.0 4.0.0.0 System.Collections.IEnumerator This member is an explicit interface member implementation. It can be used only when the instance is cast to an interface. For a description of this member, see . Returns an enumerator for the collection. Method 1.0.5000.0 2.0.0.0 4.0.0.0 System.Object This member is an explicit interface member implementation. It can be used only when the instance is cast to an interface. For a description of this member, see . A copy of the node from which it is called. Property 1.0.5000.0 2.0.0.0 4.0.0.0 System.String The value of this node, or null if the node does not have a value. Attribute values, processing instruction values, and other node values are returned by this property. Gets or sets the value of the node. Method 1.0.5000.0 2.0.0.0 4.0.0.0 System.Void This method is a Microsoft extension to the Document Object Model (DOM). It is functionally equivalent to the property. Saves all the child nodes of the node to the specified , when overridden in a derived class. The XmlWriter to which you want to save. Method 1.0.5000.0 2.0.0.0 4.0.0.0 System.Void This method is a Microsoft extension to the Document Object Model (DOM). It is functionally equivalent to the property. Saves the current node to the specified , when overridden in a derived class. The XmlWriter to which you want to save.