static HRESULT WINAPI domtext_get_attributes( IXMLDOMText *iface, IXMLDOMNamedNodeMap** attributeMap) { domtext *This = impl_from_IXMLDOMText( iface ); return IXMLDOMNode_get_attributes( IXMLDOMNode_from_impl(&This->node), attributeMap ); }
static HRESULT WINAPI dom_pi_get_attributes( IXMLDOMProcessingInstruction *iface, IXMLDOMNamedNodeMap** attributeMap) { dom_pi *This = impl_from_IXMLDOMProcessingInstruction( iface ); return IXMLDOMNode_get_attributes( This->node, attributeMap ); }
static HRESULT WINAPI entityref_get_attributes( IXMLDOMEntityReference *iface, IXMLDOMNamedNodeMap** attributeMap) { entityref *This = impl_from_IXMLDOMEntityReference( iface ); return IXMLDOMNode_get_attributes( IXMLDOMNode_from_impl(&This->node), attributeMap ); }
static HRESULT WINAPI domcomment_get_attributes( IXMLDOMComment *iface, IXMLDOMNamedNodeMap** attributeMap) { domcomment *This = impl_from_IXMLDOMComment( iface ); return IXMLDOMNode_get_attributes( This->node, attributeMap ); }
static HRESULT WINAPI domattr_get_attributes( IXMLDOMAttribute *iface, IXMLDOMNamedNodeMap** attributeMap) { domattr *This = impl_from_IXMLDOMAttribute( iface ); return IXMLDOMNode_get_attributes( This->node, attributeMap ); }
wchar_t * kull_m_xml_getAttribute(IXMLDOMNode *pNode, PCWSTR name) { wchar_t *result = NULL; IXMLDOMNamedNodeMap *map; IXMLDOMNode *nAttr; BSTR bstrGeneric; long length, i; BOOL isMatch = FALSE; if(IXMLDOMNode_get_attributes(pNode, &map) == S_OK) { if(IXMLDOMNamedNodeMap_get_length(map, &length) == S_OK) { for(i = 0; (i < length) && !isMatch; i++) { if(IXMLDOMNamedNodeMap_get_item(map, i, &nAttr) == S_OK) { if(IXMLDOMNode_get_nodeName(nAttr, &bstrGeneric) == S_OK) { isMatch = (_wcsicmp(name, bstrGeneric) == 0); SysFreeString(bstrGeneric); if(isMatch) { if(IXMLDOMNode_get_text(nAttr, &bstrGeneric) == S_OK) { kull_m_string_copy(&result, bstrGeneric); SysFreeString(bstrGeneric); } } } IXMLDOMNode_Release(nAttr); } } } IXMLDOMNamedNodeMap_Release(map); } return result; }