Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Ayuda sobre TXMLDocument (https://www.clubdelphi.com/foros/showthread.php?t=27118)

ggram2 11-11-2005 21:17:17

Ayuda sobre TXMLDocument
 
Hola a todos.

La idea es que estoy diseñando una aplicacion que maneja 3 capas y la comunicacion entre una capa y otra la quisiera hacer por paquetes XML

en Delphi7 esite este objeto TXMLDocument pero no se como usarlo. En la propiedad XML cargo el codigo y lo puedo activar pero no se como accesar la informacion

Actualmente uso archivos en XML pero con el TClientDataSet (Solo datos como una tabla)

Si definiera algo asi x ejemplo
‹CNX›
‹terminalInfo›
‹server›direccionip‹/server›
‹empresa›codigo‹/empresa›
‹estacion›idconexion‹/estacion›
‹/terminalInfo›
‹userInfo›
‹username›cod_usuario‹/username›
‹claveacceso›clave‹/claveacceso›
‹/userInfo›
‹/CNX›

No se como accesar el username, la direccionip, etc.

Muchas gracias a quien pueda ayudarme

dec 12-11-2005 16:19:45

Hola,


Cita:

Empezado por ggram2
No se como accesar el username, la direccionip, etc.

Accedamos a "username":

Código Delphi [-]
 var
   raiz, nodo: IXMLNode;
 begin
   raiz := FDocXml.DocumentElement.ChildNodes.FindNode('userInfo');
   if Assigned(raiz) then
     nodo := raiz.ChildNodes.FindNode('username');
   if Assigned(nodo) then
     ShowMessage('Texto del nodo "username": ' + nodo.Text);
 end;
Escribamos en "username":

Código Delphi [-]
 var
   raiz, nodo: IXMLNode;
 begin
   raiz := FDocXml.DocumentElement.ChildNodes.FindNode('userInfo');
   if Assigned(raiz) then
     nodo := raiz.ChildNodes.FindNode('username');
   if Assigned(nodo) then
     nodo.Text := 'Nuevo texto para el nodo';
   FDocXml.SaveToFile('ejemplo.xml');
 end;
No sé. Como puedes ver en el código de más arriba se utiliza muy poca de la potencia del componente de que hablamos "TXmlDocument". Sin embargo, acceder al texto de un determinado "nodo", cambiar este texto por otro, no es demasiado complejo, como puede apreciarse.

A poco que busques por ahí encontrarás ejemplos que podrán servirte de ayuda, si ya no es que covenga echar un vistazo a la propia ayuda de Delphi, antes o después de ir más lejos, vaya. Por mi parte pongo a tu disposición el código fuente del componente "TXmlComoIni", el cual encontrarás dentro del paquete "DecComp".

Si quieres también puedes echar un vistazo al programa "TXEditor", en el cual hago uso del componente "TXmlDocument" con mejor o peor fortuna: para conseguir este programa has de descargar "XEditor" y, a la hora de instalarlo, elegir la opción "incluir el código fuente". Echo lo cual, en la carpeta donde lo instales (en la subcarpeta "bin") encontrarás el código fuente de TXEditor, que es donde te digo que hago uso de "TXmlDocument".

Zarko Gajic, en About.Delphi, también te ofrece documentación (en inglés) y código fuente para tratar con el componente de que venimos hablando. Probablemente en sitios como Torry's Delphi Pages encuentres también información y código fuente. También puedes tratar de localizar información en el buscador de estos Foros. Y, como queda dicho, en la ayuda de Delphi -si no recuerdo mal- hay hasta tutoriales sobre el tema.


La franja horaria es GMT +2. Ahora son las 12:15:26.

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