This documentation is archived and is not being maintained.

XmlTextReader.BaseURI Property

Gets the base URI of the current node.

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

Property Value

The base URI of the current node.

Remarks

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.

Example

[Visual Basic, C#, C++] The following example displays the base URI for 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 XmlTextReader = Nothing
      
      Try
         'Load the reader with the XML file.
         reader = New XmlTextReader("http://localhost/baseuri.xml")
         
         'Parse the file and display the base URI for each node.
         While reader.Read()
            Console.WriteLine("({0}) {1}", reader.NodeType, reader.BaseURI)
         End While
      
      Finally
         If Not (reader Is Nothing) Then
            reader.Close()
         End If
      End Try
   End Sub 'Main ' End class
End Class 'Sample 

[C#] 
using System;
using System.IO;
using System.Xml;

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

    try
    {           
        //Load the reader with the XML file.
        reader = new XmlTextReader("http://localhost/baseuri.xml");

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

     finally
     {
       if (reader!=null)
         reader.Close();
     }
  }
} // End class

[C++] 
#using <mscorlib.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;

int main()
{
   XmlTextReader* reader = 0;

   try
   {           
      //Load the reader with the XML file.
      reader = new XmlTextReader(S"http://localhost/baseuri.xml");

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

   __finally
   {
      if (reader!=0)
         reader->Close();
   }
}

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

<!-- XML fragment -->
<book genre="novel">
  <title>Pride And Prejudice</title>
</book>

[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.

Requirements

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, Common Language Infrastructure (CLI) Standard

See Also

XmlTextReader Class | XmlTextReader Members | System.Xml Namespace

Show: