次の方法で共有


XmlDocument.GetElementById メソッド

指定した ID の XmlElement を取得します。

Public Overridable Function GetElementById( _
   ByVal elementId As String _) As XmlElement
[C#]
public virtual XmlElement GetElementById(stringelementId);
[C++]
public: virtual XmlElement* GetElementById(String* elementId);
[JScript]
public function GetElementById(
   elementId : String) : XmlElement;

パラメータ

  • elementId
    一致する属性 ID。

戻り値

一致する ID の XmlElement 。一致する要素が見つからない場合は null 参照 (Visual Basic では Nothing) 。

解説

一致する ID の複数の要素がドキュメントにある場合、このメソッドはドキュメントで最初に見つかった一致する要素を返します。

メモ   DOM 実装は、どの属性が型 ID かを定義する情報を持っている必要があります。型 ID の属性は XSD スキーマまたは DTD で定義できますが、このバージョンの製品では DTD で定義される属性だけをサポートします。名前が "ID" の属性は、DTD で定義されていない限り、型 ID の属性ではありません。属性が型 ID の属性かどうかが不明な実装は、 null 参照 (Visual Basic では Nothing) を返します。

使用例

[Visual Basic, C#, C++] GetElementById メソッドを使用する例を次に示します。

 
Option Explicit
Option Strict

Imports System
Imports System.Xml

Public Class Sample
    
    Public Shared Sub Main()
        Dim doc As New XmlDocument()
        doc.Load("ids.xml")
        
        'Get the first element with an attribute of type ID and value of A111.
        'This displays the node <Person SSN="A111" Name="Fred"/>.
        Dim elem As XmlElement = doc.GetElementById("A111")
        Console.WriteLine(elem.OuterXml)
        
        'Get the first element with an attribute of type ID and value of A222.
        'This displays the node <Person SSN="A222" Name="Tom"/>.
        elem = doc.GetElementById("A222")
        Console.WriteLine(elem.OuterXml)
    End Sub 'Main 
End Class 'Sample

[C#] 

using System;
using System.Xml;

public class Sample
{
  public static void Main()
  {
    XmlDocument doc = new XmlDocument();
    doc.Load("ids.xml");

    //Get the first element with an attribute of type ID and value of A111.
    //This displays the node <Person SSN="A111" Name="Fred"/>.
    XmlElement elem = doc.GetElementById("A111");
    Console.WriteLine( elem.OuterXml );

    //Get the first element with an attribute of type ID and value of A222.
    //This displays the node <Person SSN="A222" Name="Tom"/>.
    elem = doc.GetElementById("A222");
    Console.WriteLine( elem.OuterXml ); 

  }
}

[C++] 

#using <mscorlib.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::Xml;

int main()
{
    XmlDocument* doc = new XmlDocument();
    doc->Load(S"ids.xml");

    //Get the first element with an attribute of type ID and value of A111.
    //This displays the node <Person SSN="A111" Name="Fred"/>.
    XmlElement* elem = doc->GetElementById(S"A111");
    Console::WriteLine(elem->OuterXml);

    //Get the first element with an attribute of type ID and value of A222.
    //This displays the node <Person SSN="A222" Name="Tom"/>.
    elem = doc->GetElementById(S"A222");
    Console::WriteLine(elem->OuterXml); 
}

この例では、入力として、 ids.xml というファイルを使用しています。

<!DOCTYPE root [
  <!ELEMENT root ANY> 
  <!ELEMENT Person ANY> 
  <!ELEMENT Customer EMPTY>
  <!ELEMENT Team EMPTY>
  <!ATTLIST Person SSN ID #REQUIRED>
  <!ATTLIST Customer id IDREF #REQUIRED >
  <!ATTLIST Team members IDREFS #REQUIRED>]>
<root>
  <Person SSN='A111' Name='Fred'/>
  <Person SSN='A111'/>
  <Person SSN='A222' Name='Tom'/>
  <Customer id='A111'/>
  <Customer id='A222334444'/>
  <Team members='A222334444 A333445555'/>
</root>

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

XmlDocument クラス | XmlDocument メンバ | System.Xml 名前空間