XmlDocument::GetElementById Method (String^)
Gets the XmlElement with the specified ID.
Assembly: System.Xml (in System.Xml.dll)
Parameters
- elementId
-
Type:
System::String^
The attribute ID to match.
Return Value
Type: System.Xml::XmlElement^The XmlElement with the matching ID or null if no matching element is found.
If the document has multiple elements with the matching ID, this method returns the first matching element in the document.
Note |
|---|
The DOM implementation must have information which defines which attributes are of type ID. Although attributes of type ID can be defined in either XSD schemas or DTDs, this version of the product only supports those defined in DTDs. Attributes with the name "ID" are not of type ID unless so defined in the DTD. Implementations where it is unknown whether the attributes are of type ID are expected to return null. |
The following example uses the GetElementById method.
#using <System.Xml.dll> using namespace System; using namespace System::Xml; int main() { XmlDocument^ doc = gcnew 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 ); }
The example uses the file, ids.xml, as input.
<!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='A222' Name='Tom'/> <Customer id='A222334444'/> <Team members='A222334444 A333445555'/> </root>
Available since 1.1
