Question:
I am unable to use "setAttribute" method in Visual Basic. Following is the piece of code.
Dim objXML As DOMDocument
Dim objOrders As IXMLDOMNode
Dim objOrder As IXMLDOMNode
Set objXML = CreateObject("Microsoft.XMLDOM")
Set objOrders = objXML.createElement("Orders")
objXML.appendChild objOrders
Set objOrder = objXML.createElement("Order")
objOrders.appendChild objOrder
objOrder.setAttribute "OrderID", rsOrderHeaders("OrderID")
Please let me know where I am going wrong. Is there any other way to set the attribute for a node?
Answer:
When I initially looked at it, I thought the problem may be in the assignment from the recordset, but it suddenly hit me that your primary problem stems from the fact that you are declaring objOrders as an IXMLDOMNode. This interface doesn't support setAttribute, although one of its children, IXMLDOMElement, does. What you should have said was:
Dim objXML As DOMDocument
Dim objOrders As IXMLDOMElement
Dim objOrder As IXMLDOMElement