XmlReader.GetAttribute メソッド

定義

派生クラスでオーバーライドされると、属性の値を取得します。When overridden in a derived class, gets the value of an attribute.

オーバーロード

GetAttribute(String, String)

派生クラスでオーバーライドされると、指定した LocalName および NamespaceURI の属性の値を取得します。When overridden in a derived class, gets the value of the attribute with the specified LocalName and NamespaceURI.

GetAttribute(Int32)

派生クラスでオーバーライドされると、指定したインデックスの属性の値を取得します。When overridden in a derived class, gets the value of the attribute with the specified index.

GetAttribute(String)

派生クラスでオーバーライドされると、指定した Name の属性の値を取得します。When overridden in a derived class, gets the value of the attribute with the specified Name.

GetAttribute(String, String)

派生クラスでオーバーライドされると、指定した LocalName および NamespaceURI の属性の値を取得します。When overridden in a derived class, gets the value of the attribute with the specified LocalName and NamespaceURI.

public:
 abstract System::String ^ GetAttribute(System::String ^ name, System::String ^ namespaceURI);
public abstract string GetAttribute (string name, string namespaceURI);
abstract member GetAttribute : string * string -> string
Public MustOverride Function GetAttribute (name As String, namespaceURI As String) As String

パラメーター

name
String

属性のローカル名。The local name of the attribute.

namespaceURI
String

属性の名前空間 URI。The namespace URI of the attribute.

戻り値

指定した属性の値。The value of the specified attribute. 属性が見つからないか、値が String.Empty の場合、null が返されます。If the attribute is not found or the value is String.Empty, null is returned. このメソッドは、リーダーを移動しません。This method does not move the reader.

例外

namenullです。name is null.

先行の非同期操作が完了する前に、XmlReader メソッドが呼び出されました。An XmlReader method was called before a previous asynchronous operation finished. この場合、「非同期操作が既に実行されています」というメッセージと共に InvalidOperationException がスローされます。In this case, InvalidOperationException is thrown with the message "An asynchronous operation is already in progress."

注釈

次の XML には、特定の名前空間の属性が含まれています。The following XML contains an attribute in a specific namespace:

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

属性は、1 dt:typeつの引数 (プレフィックスとローカル名) または2つの引数 (ローカル名と名前空間 URI) を使用して参照できます。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");  

xmlns:dt属性を参照するには、次のいずれかの引数を使用します。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/);  

この情報は、 Prefixプロパティを使用して取得することもできます。You can also get this information using the Prefix property.

GetAttribute(Int32)

派生クラスでオーバーライドされると、指定したインデックスの属性の値を取得します。When overridden in a derived class, gets the value of the attribute with the specified index.

public:
 abstract System::String ^ GetAttribute(int i);
public abstract string GetAttribute (int i);
abstract member GetAttribute : int -> string
Public MustOverride Function GetAttribute (i As Integer) As String

パラメーター

i
Int32

属性のインデックス。The index of the attribute. インデックスの値は、0 から始まります。The index is zero-based. 最初の属性のインデックスは 0 です。(The first attribute has index 0.)

戻り値

指定した属性の値。The value of the specified attribute. このメソッドは、リーダーを移動しません。This method does not move the reader.

例外

該当する i がありません。i is out of range. 負の値以外で、属性コレクションのサイズよりも小さくなければなりません。It must be non-negative and less than the size of the attribute collection.

先行の非同期操作が完了する前に、XmlReader メソッドが呼び出されました。An XmlReader method was called before a previous asynchronous operation finished. この場合、「非同期操作が既に実行されています」というメッセージと共に InvalidOperationException がスローされます。In this case, InvalidOperationException is thrown with the message "An asynchronous operation is already in progress."

次の例では、3番目の属性の値を取得します。The following example gets the value of the third attribute.

reader.ReadToFollowing("book");
string isbn = reader.GetAttribute(2);
reader.ReadToFollowing("book")
Dim isbn As String = reader.GetAttribute(2)

GetAttribute(String)

派生クラスでオーバーライドされると、指定した Name の属性の値を取得します。When overridden in a derived class, gets the value of the attribute with the specified Name.

public:
 abstract System::String ^ GetAttribute(System::String ^ name);
public abstract string GetAttribute (string name);
abstract member GetAttribute : string -> string
Public MustOverride Function GetAttribute (name As String) As String

パラメーター

name
String

属性の限定名。The qualified name of the attribute.

戻り値

指定した属性の値。The value of the specified attribute. 属性が見つからないか、値が String.Empty の場合、null が返されます。If the attribute is not found or the value is String.Empty, null is returned.

例外

namenullです。name is null.

先行の非同期操作が完了する前に、XmlReader メソッドが呼び出されました。An XmlReader method was called before a previous asynchronous operation finished. この場合、「非同期操作が既に実行されています」というメッセージと共に InvalidOperationException がスローされます。In this case, InvalidOperationException is thrown with the message "An asynchronous operation is already in progress."

次の例では、ISBN 属性の値を取得します。The following example gets the value of the ISBN attribute.

reader.ReadToFollowing("book");
string isbn = reader.GetAttribute("ISBN");
Console.WriteLine("The ISBN value: " + isbn);
reader.ReadToFollowing("book")
Dim isbn As String = reader.GetAttribute("ISBN")
Console.WriteLine("The ISBN value: " + isbn)

注釈

このメソッドは、リーダーを移動しません。This method does not move the reader.

リーダーがDocumentTypeノードに配置されている場合、このメソッドを使用して、次のように、パブリックリテラルとシステムリテラルを取得できます。reader.GetAttribute("PUBLIC")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")

適用対象