Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-11-2005
ggram2 ggram2 is offline
Miembro
 
Registrado: sep 2005
Posts: 47
Poder: 0
ggram2 Va por buen camino
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
Responder Con Cita
  #2  
Antiguo 12-11-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
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.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 15:21: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
Copyright 1996-2007 Club Delphi