The value of the specified attribute. If the attribute is not found, null is returned. This method does not move the reader.
In the dnprdnext release, the recommended practice is to create System.Xml.XmlReader instances using the erload:System.Xml.XmlReader.Create method. This allows you to take full advantage of the new features introduced in this release. For more information, see Creating XML Readers.
The following XML contains an attribute in a specific namespace:
Example
<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):
Example
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:
Example
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 XmlTextReader.Prefix property.
This example writes the value of the attributes from the following XML fragment to the console:
<test xmlns:dt="urn:datatypes" dt:type="int"/>
The second attribute value is retrieved using all three overloads of this method.
C# Example
using System; using System.Xml; public class Reader { public static void Main() { string xmlFragment = @"<test xmlns:dt=""urn:datatypes"" dt:type=""int""/>"; NameTable nameTable = new NameTable(); XmlNamespaceManager xmlNsMan = new XmlNamespaceManager(nameTable); XmlParserContext xmlPContext = new XmlParserContext(null, xmlNsMan, null, XmlSpace.None); XmlTextReader xmlTReader = new XmlTextReader(xmlFragment,XmlNodeType.Element, xmlPContext); xmlTReader.Read(); Console.WriteLine( "{0}", xmlTReader.GetAttribute(0) ); string str1 = xmlTReader.GetAttribute(1); string str2 = xmlTReader.GetAttribute("dt:type"); string str3 = xmlTReader.GetAttribute("type", "urn:datatypes"); Console.WriteLine("{0} - {1} - {2}", str1, str2, str3); } }
The output is
urn:datatypes
int - int - int