getAttribute Method
Gets the value of the attribute.
Script Syntax
objValue = oXMLDOMElement.getAttribute(name);
Parameters
- name
- A string specifying the name of the attribute to return.
Return Value
A variant. Returns the value as a string if the attribute value is a non-empty string. Returns Null if the named attribute does not have a specified value, or an implied default value, such as one taken from a DTD or schema.
Example
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.5.0");
var nodeBook, sIdValue;
xmlDoc.async = false;
xmlDoc.load("books.xml");
if (xmlDoc.parseError.errorCode != 0) {
var myErr = xmlDoc.parseError;
alert("You have error " + myErr.reason);
} else {
nodeBook = xmlDoc.selectSingleNode("//book");
sIdValue = nodeBook.getAttribute("id")
alert(sIdValue);
}
Visual Basic Syntax
objValue = oXMLDOMElement.getAttribute(name)
Parameters
- name
- A string specifying the name of the attribute to return.
Return Value
A variant. Returns the value as a string if the attribute value is a non-empty string. Returns Null if the named attribute does not have a specified value, or an implied default value, such as one taken from a DTD or schema.
Example
Dim xmlDoc As New Msxml2.DOMDocument50
Dim nodeBook As IXMLDOMElement
Dim sIdValue As String
xmlDoc.async = False
xmlDoc.Load "books.xml"
If (xmlDoc.parseError.errorCode <> 0) Then
Dim myErr
Set myErr = xmlDoc.parseError
MsgBox("You have error " & myErr.reason)
Else
Set nodeBook = xmlDoc.selectSingleNode("//book")
sIdValue = nodeBook.getAttribute("id")
MsgBox sIdValue
End If
C/C++ Syntax
HRESULT getAttribute(
BSTR name,
VARIANT *value);
Parameters
- name [in]
- The name of the attribute to return.
- value [out, retval]
- The string that contains the attribute value. The empty string is returned if the named attribute does not have a default value specified.
C/C++ Return Values
- S_OK
- The value returned if successful.
- S_FALSE
- The value when no attribute with the given name is found.
- E_INVALIDARG
- The value returned if the
nameparameter is Null.
C/C++ Example
BOOL DOMElementAttribute()
{
BOOL bResult = FALSE;
_variant_t varValue;
BSTR bstrAttributeName = ::SysAllocString(_T("dateCreated"));
IXMLDOMDocument *pIXMLDOMDocument = NULL;
IXMLDOMElement *pIXMLDOMElement = NULL;
HRESULT hr;
try
{
// Create an instance of DOMDocument and initialize
// pIXMLDOMDocument.
// Load/create an XML fragment.
hr = pIXMLDOMDocument->get_documentElement(&pIXMLDOMElement);
SUCCEEDED(hr) ? 0 : throw hr;
If(pIXMLDOMElement)
{
varValue = _T("year 2000");
hr = pIXMLDOMElement->setAttribute(bstrAttributeName, varValue);
SUCCEEDED(hr) ? 0 : throw hr;
hr = pIXMLDOMElement->getAttribute(bstrAttributeName, &varValue);
SUCCEEDED(hr) ? 0 : throw hr;
if(varValue.vt != VT_NULL)
{
::MessageBox(NULL, _bstr_t(varValue), bstrAttributeName, MB_OK);
bResult = TRUE;
}
::SysFreeString(bstrAttributeName);
bstrAttributeName = NULL;
pIXMLDOMElement->Release();
}
}
catch(...)
{
if(bstrAttributeName)
::SysFreeString(bstrAttributeName);
if(pIXMLDOMElement)
pIXMLDOMElement->Release();
DisplayErrorToUser();
}
return bResult;
}
Remarks
You can also retrieve attributes by using the getNamedItem method of the IXMLDOMNamedNodeMap.
To view reference information for Visual Basic, C/C++, or Script only, click the Language Filter button
in the upper-left corner of the page.
See Also
getNamedItem Method | IXMLDOMNamedNodeMap
Applies to: IXMLDOMElement
