Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Ayuda con un ejercicio de C++ (https://www.clubdelphi.com/foros/showthread.php?t=61424)

DagothXX1 07-11-2008 00:05:20

Ayuda con un ejercicio de C++
 
hola gente de Club Delphi. Este es mi primer post y quisiera saber si alguien podría ayudarme con un ejercicio en C++
Me piden leer un archivo xml con un parser de xml como por ejemplo irrxml, y quisiera saber si alguien podría publicar el código porque yo realmente no he logrado ni siquiera entenderlo. Quedo a la espera de una respuesta y desde ya, muchas gracias.

coso 07-11-2008 14:45:53

Hola dagoth. No acostumbramos a hacer 'deberes' aqui, aunque no por eso no vayamos a ayudarte. Si puedes poner las dudas concretas sobre el tema...por ejemplo, ¿el irrxml este que es? ¿un componente? yo de ti empezaria cargando el archivo en un TStringList y a partir de alli ir mirando linea por linea y parseandolo. Lo que te decia, si nos pones las dudas de manera mas concreta, mejor que mejor. saludos.

coso 07-11-2008 14:48:43

Echandole un vistazo rapido al irrXML, ya se ve que hay mucho codigo...lo dicho, dudas concretas. Saludos.

cHackAll 07-11-2008 19:38:21

Código:

#include <msxml.h>

//...

void __fastcall TForm1::Button1Click(TObject *Sender)
{
 CoInitialize(NULL);
 IXMLDOMDocument* xml;
 CoCreateInstance(CLSID_DOMDocument, NULL, CLSCTX_INPROC_SERVER, __uuidof(IXMLDOMDocument), (void**)&xml);
 short isSuccessful;
 VARIANT xmlSource = {VT_BSTR};
 xmlSource.bstrVal = SysAllocString(L"STFW.xml");
 xml->load(xmlSource, &isSuccessful);
 if (isSuccessful)
 {
  IXMLDOMElement* root;
  xml->get_documentElement(&root);
  IXMLDOMNodeList* nodes;
  root->get_childNodes(&nodes);
  IXMLDOMNode* child;
  BSTR text = new wchar_t(666);
  BSTR nodeName = new wchar_t(666);
  while (!nodes->nextNode(&child))
  {
  child->get_text(&text);
  child->get_nodeName(&nodeName);
  MessageBoxW(Handle, text, nodeName, 0);
  child->Release();
  }
  nodes->Release();
  root->Release();
 }
 SysFreeString(xmlSource.bstrVal);
 xml->Release();
 CoUninitialize();
}

Nota; aunque opino igual que coso, creo que el anterior code no se ha visto con anterioridad.

PD; el título del hilo esta mal!

Saludos

DagothXX1 07-11-2008 19:53:20

Antes que nada, muchas gracias por haber respondido a mi duda. Con respecto a lo del problema en C++, la página del libro de donde lo saqué decía sólamente lo que he transcripto (leer un archivo XML con un parser de XML como por ejemplo irrXML). El irrXML es un parser open source para C++ y aquí está la dirección web del mismo (espero no lo consideren como spam y puedan acceder a ella: http://www.ambiera.com/irrxml/index.html)

Por lo poco que me dice el libro, (y que yo entiendo) sólo me indica que debo leer el archivo (no habla nada de modificarlo o demás) y necesito saber cómo hacer esa lectura de archivo.

Espero haber sido más claro en mi duda esta vez y de nuevo voy a agradecer infinitamente a quien/es pueda/n brindarme el código para esto. No saben lo importante que es para mí. Sé que lo que pido puede quizá sonarles a tarea, incluso insulso pero es algo re importante para mí y voy a agradecer eternamente la ayuda que puedan brindarme. Gracias.


La franja horaria es GMT +2. Ahora son las 19:40:49.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi