This documentation is archived and is not being maintained.

XmlValidatingReader.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 node.

[Visual Basic] 
Option Strict
Option Explicit

Imports System
Imports System.IO
Imports System.Xml

Public Class Sample
   Public Shared Sub Main()
      Dim reader As XmlValidatingReader = Nothing
      Dim txtreader As XmlTextReader = Nothing
         'Create the validating reader.
         txtreader = New XmlTextReader("http://localhost/uri.xml")
         reader = New XmlValidatingReader(txtreader)
         reader.ValidationType = ValidationType.None
         '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
End Class 'Sample 

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

public class Sample
  public static void Main()
    XmlValidatingReader reader = null;
    XmlTextReader txtreader = null;

        //Create the validating reader.
        txtreader = new XmlTextReader("http://localhost/uri.xml");
        reader = new XmlValidatingReader(txtreader);
        reader.ValidationType = ValidationType.None;

        //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()
   XmlValidatingReader* reader = 0;
   XmlTextReader* txtreader = 0;

      //Create the validating reader.
      txtreader = new XmlTextReader(S"http://localhost/uri.xml");
      reader = new XmlValidatingReader(txtreader);
      reader->ValidationType = ValidationType::None;

      //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

See Also

XmlValidatingReader Class | XmlValidatingReader Members | System.Xml Namespace