This method is similar to ReadInnerXml except it also returns the start and end tags.
This method handles element and attribute nodes in the following manner:
Node type
|
Position before the call
|
XML fragment
|
Return value
|
Position After the Call
|
|---|
Element
|
On the item1 start tag.
|
<item1>text1</item1><item2>text2</item2>
|
<item1>text1</item1>
|
On the item2 start tag.
|
Attribute
|
On the attr1 attribute node.
|
<item attr1="val1" attr2="val2">text</item>
|
attr1="val1"
|
Remains on the attr1 attribute node.
|
If the reader is positioned on a leaf node, calling ReadOuterXml is equivalent to calling Read. The method returns String.Empty (except for attribute nodes, in which case the attribute markup is returned).
This method checks for well-formed XML. If ReadOuterXml is called from an XmlValidatingReader, this method also validates the content returned
As implemented in the XmlNodeReader, XmlTextReader and XmlValidatingReader classes the ReadOuterXml method is namespace aware. Given the following XML text <A xmlns:S="urn:1"><S:B>hello</S:B></A>, if the reader were positioned on the S:B start tag, ReadOuterXml returns <S:B xmlns:S="urn:1">hello<S:B/>.