setAttributeNode Method
Sets or updates the supplied attribute node on this element.
Script Syntax
var objXMLDOMAttribute = oXMLDOMElement.XMLDOMElement(DOMAttribute);
Parameters
- DOMAttribute
- An object that contains the attribute node to be associated with this element.
Return Value
An object. Returns Null unless the new attribute replaces an existing attribute with the same name, in which case this method returns the previous, replaced attribute node.
Example
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.5.0");
var nodeBook, nodePublishDate;
xmlDoc.async = false;
xmlDoc.load("books.xml");
if (xmlDoc.parseError.errorCode != 0) {
var myErr = xmlDoc.parseError;
alert("You have error " + myErr.reason);
} else {
nodePublishDate = xmlDoc.createAttribute("PublishDate");
nodePublishDate.value = String(Date());
nodeBook = xmlDoc.selectSingleNode("//book");
nodeBook.setAttributeNode(nodePublishDate);
alert(nodeBook.getAttribute("PublishDate"));
}
Visual Basic Syntax
Set objXMLDOMAttribute = oXMLDOMElement.XMLDOMElement(DOMAttribute)
Parameters
- DOMAttribute
- An object that contains the attribute node to be associated with this element.
Return Value
An object. Returns Null unless the new attribute replaces an existing attribute with the same name, in which case this method returns the previous, replaced attribute node.
Example
Dim xmlDoc As New Msxml2.DOMDocument50
Dim nodeBook As IXMLDOMElement
Dim nodePublishDate As IXMLDOMAttribute
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 nodePublishDate = xmlDoc.createAttribute("PublishDate")
nodePublishDate.Value = Now
Set nodeBook = xmlDoc.selectSingleNode("//book")
nodeBook.setAttributeNode nodePublishDate
MsgBox nodeBook.getAttribute("PublishDate")
End If
C/C++ Syntax
HRESULT setAttributeNode(
IXMLDOMAttribute *DOMAttribute,
IXMLDOMAttribute **attributeNode);
Parameters
- DOMAttribute [in]
- An attribute node that is to be associated with this element.
- attributeNode [out, retval]
- Null unless the new attribute replaces an existing attribute with the same name, in which case this method returns the previous, replaced attribute node.
C/C++ Return Values
- S_OK
- The value returned if successful.
- E_FAIL
- The value returned if an error occurs.
C/C++ Example
See the example in the getAttributeNode method.
Remarks
You cannot add an existing attribute to an element until you first remove it from its previous element. Also, you cannot add a namespace-qualified attribute when it uses the same prefix as another attribute with a different namespaceURI.
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
Applies to: IXMLDOMElement
