Wie kann ich Zugriff auf die Attribute eines Elements aus einer IXMLDOMNode?

Baue ich ein XML-DOM-Dokument in C++. Mein problem ist Folgendes: ich habe eine XPATH-Abfrage auszuführen von einem Element in meinem Dokument, die ich kenne, kehren ein weiteres Element. Die elementPtr->selectSingleNode-Aufruf gibt einen IXMLDOMNode. Wie kann ich Zugriff auf die Attribute dieses Knotens?

Teil von mir will niedergeschlagen den Knoten um ein Element, aber ich konnte nicht die Darsteller zu arbeiten.

Versuchte ich

MSXML2::IXMLDOMElementPtr pParentElement;
pParentNode->QueryInterface(__uuidof(MSXML2::IXMLDOMElement), 
                            (void**) &pParentElement);

Die Ergebnisse in der folgenden runtime error:

0x0057cc58 _com_error::`scalar deleting destructor'(unsigned int)

Den anderen Weg, den ich versucht, war, nur mit Knoten:

MSXML2::IXMLDOMNodePtr pParentNode = 
    pParameterElement->selectSingleNode("parent");
MSXML2::IXMLDOMNamedNodeMap* pParentAttributes;
pParentNode->get_attributes(&pParentAttributes);

MSXML2::IXMLDOMNodePtr pCategoryNameNode = 
    pParentAttributes->getNamedItem("Category");
VARIANT value;
pCategoryNameNode->get_nodeValue(&value);
CString categoryName = value;

Diese nicht auf "parentNode->get_attributes()".

Wie es scheint, bin ich etwas fehlt; die API sollte nicht so schwer sein zu bedienen.

--edit--

Was mir fehlte, war, dass die selectSingleNode-Aufruf scheiterte, ließ mich mit einem NULL-Zeiger. Können Sie nicht, rufen Sie QueryInterface auf, dass weder können Sie Sie nennen get_attributes 😛

Die ich ausgewählt habe, die Antwort passt, dass die Frage, die ich fragte, nicht die Antwort, die mir geholfen, zu realisieren, dass ich gefragt habe die falsche Frage.

InformationsquelleAutor |

Schreibe einen Kommentar