XmlNodeReader.GetAttribute Method

Definition

Gets the value of an attribute.

Overloads

GetAttribute(Int32)

Gets the value of the attribute with the specified index.

GetAttribute(String)

Gets the value of the attribute with the specified name.

GetAttribute(String, String)

Gets the value of the attribute with the specified local name and namespace URI.

GetAttribute(Int32)

Gets the value of the attribute with the specified index.

public:
 override System::String ^ GetAttribute(int attributeIndex);
public override string GetAttribute (int attributeIndex);
override this.GetAttribute : int -> string
Public Overrides Function GetAttribute (attributeIndex As Integer) As String

Parameters

attributeIndex
Int32

The index of the attribute. The index is zero-based. (The first attribute has index 0.)

Returns

The value of the specified attribute.

Exceptions

The i parameter is less than 0 or greater than or equal to AttributeCount.

Remarks

Note

In the .NET Framework 2.0, the recommended practice is to create XmlReader instances using the XmlReaderSettings class and the Create method. This allows you to take full advantage of all the new features introduced in the .NET Framework. For more information, see the Remarks section in the XmlReader reference page.

This method does not move the reader.

GetAttribute(String)

Gets the value of the attribute with the specified name.

public:
 override System::String ^ GetAttribute(System::String ^ name);
public override string GetAttribute (string name);
override this.GetAttribute : string -> string
Public Overrides Function GetAttribute (name As String) As String

Parameters

name
String

The qualified name of the attribute.

Returns

The value of the specified attribute. If the attribute is not found, null is returned.

Examples

The following example gets the value of the ISBN attribute.

#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
   XmlNodeReader^ reader = nullptr;
   try
   {
      
      //Create and load the XML document.
      XmlDocument^ doc = gcnew XmlDocument;
      doc->LoadXml( "<book genre='novel' ISBN='1-861003-78' publicationdate='1987'> "
      "</book>" );
      
      // Load the XmlNodeReader 
      reader = gcnew XmlNodeReader( doc );
      
      //Read the ISBN attribute.
      reader->MoveToContent();
      String^ isbn = reader->GetAttribute( "ISBN" );
      Console::WriteLine( "The ISBN value: {0}", isbn );
   }
   finally
   {
      if ( reader != nullptr )
            reader->Close();
   }

}

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

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

    try
    {
       //Create and load the XML document.
       XmlDocument doc = new XmlDocument();
       doc.LoadXml("<book genre='novel' ISBN='1-861003-78' publicationdate='1987'> " +
                   "</book>"); 

       // Load the XmlNodeReader 
       reader = new XmlNodeReader(doc);
  
       //Read the ISBN attribute.
       reader.MoveToContent();
       string isbn = reader.GetAttribute("ISBN");
       Console.WriteLine("The ISBN value: " + isbn);
     } 

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

Public Class Sample
    
    Public Shared Sub Main()
        Dim reader As XmlNodeReader = Nothing
        
        Try
            'Create and load the XML document.
            Dim doc As New XmlDocument()
            doc.LoadXml("<book genre='novel' ISBN='1-861003-78' publicationdate='1987'> " & _
                       "</book>")
            
            ' Load the XmlNodeReader 
            reader = New XmlNodeReader(doc)
            
            'Read the ISBN attribute.
            reader.MoveToContent()
            Dim isbn As String = reader.GetAttribute("ISBN")
            Console.WriteLine("The ISBN value: " & isbn)
        
        
        Finally
            If Not (reader Is Nothing) Then
                reader.Close()
            End If
        End Try
    End Sub
End Class

Remarks

Note

In the .NET Framework 2.0, the recommended practice is to create XmlReader instances using the XmlReaderSettings class and the Create method. This allows you to take full advantage of all the new features introduced in the .NET Framework. For more information, see the Remarks section in the XmlReader reference page.

This method does not move the reader.

If the reader is positioned on a DocumentType node, this method can be used to get the PUBLIC and SYSTEM literals, for example, reader.GetAttribute("PUBLIC")

GetAttribute(String, String)

Gets the value of the attribute with the specified local name and namespace URI.

public:
 override System::String ^ GetAttribute(System::String ^ name, System::String ^ namespaceURI);
public override string GetAttribute (string name, string namespaceURI);
override this.GetAttribute : string * string -> string
Public Overrides Function GetAttribute (name As String, namespaceURI As String) As String

Parameters

name
String

The local name of the attribute.

namespaceURI
String

The namespace URI of the attribute.

Returns

The value of the specified attribute. If the attribute is not found, null is returned.

Remarks

Note

In the .NET Framework 2.0, the recommended practice is to create XmlReader instances using the XmlReaderSettings class and the Create method. This allows you to take full advantage of all the new features introduced in the .NET Framework. For more information, see the Remarks section in the XmlReader reference page.

The following XML contains an attribute in a specific namespace:

<test xmlns:dt="urn:datatypes" dt:type="int"/>  

You can lookup the dt:type attribute using one argument (prefix and local name) or two arguments (local name and namespace URI):

String dt = reader.GetAttribute("dt:type");  
String dt2 = reader.GetAttribute("type","urn:datatypes");  

To lookup the xmlns:dt attribute, use one of the following arguments:

String dt3 = reader.GetAttribute("xmlns:dt");  
String dt4 = reader.GetAttribute("dt",http://www.w3.org/2000/xmlns/);  

You can also get this information using the Prefix property.

Applies to