XmlNodeReader.GetAttribute 方法

定义

获取属性的值。

重载

GetAttribute(Int32)

获取具有指定索引的属性的值。

GetAttribute(String)

获取具有指定名称的属性的值。

GetAttribute(String, String)

获取具有指定本地名称和命名空间 URI 的属性的值。

GetAttribute(Int32)

Source:
XmlNodeReader.cs
Source:
XmlNodeReader.cs
Source:
XmlNodeReader.cs

获取具有指定索引的属性的值。

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

参数

attributeIndex
Int32

属性的索引。 索引是从零开始的。 (第一个属性的索引为 0。)

返回

指定的属性的值。

例外

i 参数小于 0 或大于等于 AttributeCount

注解

注意

在 .NET Framework 2.0 中,建议的做法是使用 XmlReaderSettings 类和 Create 方法创建XmlReader实例。 这使你可以充分利用.NET Framework中引入的所有新功能。 有关详细信息,请参阅参考页中的 XmlReader “备注”部分。

此方法不移动读取器。

适用于

GetAttribute(String)

Source:
XmlNodeReader.cs
Source:
XmlNodeReader.cs
Source:
XmlNodeReader.cs

获取具有指定名称的属性的值。

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

参数

name
String

属性的限定名称。

返回

指定的属性的值。 如果未找到该属性,则返回 null

示例

以下示例获取 ISBN 属性的值。

#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

注解

注意

在 .NET Framework 2.0 中,建议的做法是使用 XmlReaderSettings 类和 Create 方法创建XmlReader实例。 这使你可以充分利用.NET Framework中引入的所有新功能。 有关详细信息,请参阅参考页中的 XmlReader “备注”部分。

此方法不移动读取器。

如果读取器位于节点上 DocumentType ,则此方法可用于获取 PUBLIC 和 SYSTEM 文本,例如, reader.GetAttribute("PUBLIC")

适用于

GetAttribute(String, String)

Source:
XmlNodeReader.cs
Source:
XmlNodeReader.cs
Source:
XmlNodeReader.cs

获取具有指定本地名称和命名空间 URI 的属性的值。

public:
 override System::String ^ GetAttribute(System::String ^ name, System::String ^ namespaceURI);
public override string? GetAttribute (string name, 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

参数

name
String

属性的本地名称。

namespaceURI
String

属性的命名空间 URI。

返回

指定的属性的值。 如果未找到该属性,则返回 null

注解

注意

在 .NET Framework 2.0 中,建议的做法是使用 XmlReaderSettings 类和 Create 方法创建XmlReader实例。 这使你可以充分利用.NET Framework中引入的所有新功能。 有关详细信息,请参阅参考页中的 XmlReader “备注”部分。

以下 XML 包含特定命名空间中的属性:

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

可以使用一个参数 (前缀和本地名称) 查找 dt:type 属性,或者使用两个参数 (本地名称和命名空间 URI) :

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

若要查找属性 xmlns:dt ,请使用下列参数之一:

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

还可以使用 Prefix 属性获取此信息。

适用于