This documentation is archived and is not being maintained.

XmlNodeReader.BaseURI Property

Gets the base URI of the current node.

[Visual Basic]
Overrides Public ReadOnly Property BaseURI As String
public override string BaseURI {get;}
public: __property String* get_BaseURI();
public override function get BaseURI() : String;

Property Value

The base URI of the current node.


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. DTD entities are an example of this, but this is not limited to DTDs. The base URI tells you where these nodes came from. If there is no base URI for the nodes being returned (for example, they were parsed from an in-memory string), String.Empty is returned.


[Visual Basic, C#, C++] The following example parses a file and displays the base URI of each of the nodes.

[Visual Basic] 
Option Explicit
Option Strict

Imports System
Imports System.IO
Imports System.Xml

Public Class Sample
    Public Shared Sub Main()
        Dim reader As XmlNodeReader = Nothing
            'Create and load an XmlDocument.
            Dim doc As New XmlDocument()
            reader = New XmlNodeReader(doc)
            'Parse the file and display the base URI for each node.
            While reader.Read()
                Console.WriteLine("({0}) {1}", reader.NodeType, reader.BaseURI)
            End While
            If Not (reader Is Nothing) Then
            End If
        End Try
    End Sub 'Main
End Class 'Sample

using System;
using System.IO;
using System.Xml;

public class Sample
  public static void Main()
    XmlNodeReader reader = null;

        //Create and load an XmlDocument.
        XmlDocument doc = new XmlDocument();

        reader = new XmlNodeReader(doc);

        //Parse the file and display the base URI for each node.
        while (reader.Read())
            Console.WriteLine("({0}) {1}", reader.NodeType, reader.BaseURI);

       if (reader!=null)
} // End class

#using <mscorlib.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;

int main()
   XmlNodeReader* reader = 0;

      //Create and load an XmlDocument.
      XmlDocument* doc = new XmlDocument();

      reader = new XmlNodeReader(doc);

      //Parse the file and display the base URI for each node.
      while (reader->Read())
         Console::WriteLine(S"({0}) {1}", __box(reader->NodeType),reader->BaseURI);

      if (reader!=0)

The example uses the file, uri.xml, as input.

<!-- XML fragment -->
<!DOCTYPE book [<!ENTITY s SYSTEM "tmp/style.xml">]>
<book genre="novel">
  <title>Pride And Prejudice</title>

The style.xml file contains the XML text <style>hardcover</style>.

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.


Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework

See Also

XmlNodeReader Class | XmlNodeReader Members | System.Xml Namespace