Attribute in XML lesen



  • Hallo,

    kann mir jmd helfen, damit ich in diesem Code die Attribute angezeigt bekomme? Bis jetzt liefert mir IXMLDOMNamedNodeMapPtr immer Null.

    void CXmlFile::DisplayAttributes(MSXML2::IXMLDOMNodePtr pChild,CString parent,CString &apname)
    {
    	MSXML2::IXMLDOMElementPtr pElem;
    	_bstr_t childname = pChild->nodeName; 
    
    	if(NODE_ELEMENT == pChild->nodeType)
    	{
    		HRESULT hr1 = pChild->QueryInterface(MSXML2::IID_IXMLDOMElement,(void **)&pElem);
    		if(FAILED(hr1)) {_com_raise_error(hr1);}
    
    	}
    	else if (NODE_TEXT == pChild->nodeType)
    	{
    		_bstr_t base = pChild->baseName; 
    
    		MSXML2::IXMLDOMNamedNodeMapPtr nodeptr = pChild->Getattributes();
    		if(nodeptr != NULL)
    		{
    			long len = nodeptr->Getlength();
    			len = len; 
    		}
    	}
    }
    

    Mein XML sieht z.B. so aus

    <myxml>
    <node>
    <testnode test="true" id="2">wert</testnode>
    </node>
    </myxml>

    Gruß
    Bernd



  • ein kleiner Zusatz noch:

    ich möchte nicht "getAttributeNode("ID")" eingeben müssen, sondern ich möchte vom Parser erfahren ob ein Node Attribute enthält und welchen Namen und Wert dieser Attribut hat.


Anmelden zum Antworten