Red de conocimiento informático - Conocimiento del nombre de dominio - ¡Primeros auxilios! Utilice mfc para leer documentos XML en vc

¡Primeros auxilios! Utilice mfc para leer documentos XML en vc

void C***::XML()

{

CoInitialize(NULL); // Inicializa la interfaz COM

MSXML2::IXMLDOMDocumentPtr pDoc;

HRESULT hr = pDoc.CreateInstance(__uuidof(MSXML2::DOMDocument30));

if(!SUCCEEDED(hr))

{

MessageBox("¡Error!");

Retorno;

}

hr = pDoc->loadXML(L "E:\conmxl.xml")

if(FAILED(hr))

{

MessageBox("¡No se pudo cargar el documento XML en el analizador!"))

Retorno;

}

MSXML2::IXMLDOMElementPtr childNode;

childNode=NULL;

hr =pDoc-> selectSingleNode("//ROOT //Root1//Root2");

if ( FAILED(hr) )

{

MessageBox("No se pudo localizar el nodo 'Root3'");

return;

}

childNode = (MSXML2:.IXMLDOMElementPtr)(pDoc->selectSingleNode("//Root2 "));

MSXML2::DOMNodeType nodeType;

childNode->get_nodeType(&nodeType);

// El error de depuración en este lado muestra childNode = 0x00000 (es decir, vacío)

// No sé si lo siguiente es correcto, por favor ayúdenme

MSXML2::IXMLDOMNamedNodeMapPtr pAttrs = NULL;

MSXML2 ::IXMLDOMNodeListPtr nodeList;

MSXML2::IXMLDOMNodePtr pAttrItem;

childNode->get_attributes(&pAttrs);

childNode->get_childNodes(&nodeList);

long nCount , iCount;

pAttrs->get_length(&nCount); //obtiene el número de atributos de nodo

nodeList->get_length(&iCount); de atributos de nodo

//¿Para qué se usan los dos valores aquí?

// Esta es la primera vez que entro en contacto con archivos xml y no sé nada al respecto. así que por favor ayúdame a explicarlo.

//El código proviene de un blog

for(int i = 0; i < iCount; i++).

) //Puedes agregar datos al ListControl según sea necesario

{

for(int j = 0; j < nCount; j++)

{

pAttrs->get_item(j, &pAttrItem);

CString strAttrName = (char*)(_bstr_t)pAttrItem->nodeName;

CString strAttrValue = (char* )(_bstr_t)pAttrItem->nodeTypedValue;

m_list.InsertItem(i, strAttrName);

m_list.SetItemText(i, 1, strAttrValue);

}

}

}

Míralo~~