Can you not just use setNamedItem? i.e.

Code:
Dim d As MSXML2.DOMDocument
Dim e As MSXML2.IXMLDOMElement
Dim a As MSXML2.IXMLDOMAttribute

    Set d = New MSXML2.DOMDocument
    Set e = d.createElement("E1")
    Set a = d.createAttribute("A1")
    a.nodeValue = "v1"
    e.Attributes.setNamedItem a

td.