Gets the markup representing this node and all its child nodes.
Assembly: System.Xml (in System.Xml.dll)
Public Overridable ReadOnly Property OuterXml As String Get
public virtual string OuterXml { get; }
public: virtual property String^ OuterXml { String^ get (); }
abstract OuterXml : string override OuterXml : string
Property Value
Type: System.StringThe markup containing this node and all its child nodes.
Note |
|---|
OuterXml does not return default attributes. |
This property is a Microsoft extension to the Document Object Model (DOM).
The following example compares output from the InnerXml and OuterXml properties.
Option Explicit Option Strict Imports System Imports System.IO Imports System.Xml Public Class Sample Public Shared Sub Main() Dim doc As New XmlDocument() doc.LoadXml("<book genre='novel' ISBN='1-861001-57-5'>" & _ "<title>Pride And Prejudice</title>" & _ "</book>") Dim root As XmlNode = doc.DocumentElement ' OuterXml includes the markup of current node. Console.WriteLine("Display the OuterXml property...") Console.WriteLine(root.OuterXml) ' InnerXml does not include the markup of the current node. ' As a result, the attributes are not displayed. Console.WriteLine() Console.WriteLine("Display the InnerXml property...") Console.WriteLine(root.InnerXml) End Sub 'Main End Class 'Sample
using System; using System.IO; using System.Xml; public class Sample { public static void Main() { XmlDocument doc = new XmlDocument(); doc.LoadXml("<book genre='novel' ISBN='1-861001-57-5'>" + "<title>Pride And Prejudice</title>" + "</book>"); XmlNode root = doc.DocumentElement; // OuterXml includes the markup of current node. Console.WriteLine("Display the OuterXml property..."); Console.WriteLine(root.OuterXml); // InnerXml does not include the markup of the current node. // As a result, the attributes are not displayed. Console.WriteLine(); Console.WriteLine("Display the InnerXml property..."); Console.WriteLine(root.InnerXml); } }
#using <System.Xml.dll> using namespace System; using namespace System::IO; using namespace System::Xml; int main() { XmlDocument^ doc = gcnew XmlDocument; doc->LoadXml( "<book genre='novel' ISBN='1-861001-57-5'>" "<title>Pride And Prejudice</title>" "</book>" ); XmlNode^ root = doc->DocumentElement; // OuterXml includes the markup of current node. Console::WriteLine( "Display the OuterXml property..." ); Console::WriteLine( root->OuterXml ); // InnerXml does not include the markup of the current node. // As a result, the attributes are not displayed. Console::WriteLine(); Console::WriteLine( "Display the InnerXml property..." ); Console::WriteLine( root->InnerXml ); }
.NET Framework
Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0.NET Framework Client Profile
Supported in: 4, 3.5 SP1Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Reference
static void Main(string[] args)
{
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.LoadXml("<book><page></page></book>"); // unindented xml
using (MemoryStream ms = new MemoryStream())
{
XmlWriterSettings xws = new XmlWriterSettings();
xws.Indent = true;
using (XmlWriter xmlWriter = XmlWriter.Create(ms, xws))
{
xmlDocument.WriteTo(xmlWriter);
}
ms.Position = 0; StreamReader sr = new StreamReader(ms);
string s = sr.ReadToEnd(); // s will contain indented xml
Console.WriteLine(s);
}
}
Note