Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   XML Copiar parte de un XML en otro (https://www.clubdelphi.com/foros/showthread.php?t=94901)

delphijm 12-10-2020 20:50:52

XML Copiar parte de un XML en otro
 
Hola a todos,


Tengo un XML con varios nodos que, a su vez contienen otros nodos "hijos".


Estando situado en uno de los nodos que contienen "hijos" quiero copiar ese arbol hacia un nuevo documento XML.


Ejemplo:

Código:

<documento>
  <albaranes>
    <albaran>
        .....

    </albaran>
    <albaran>
        .....

    </albaran>
  </albaranes>
  <clientes>
      <cliente>
          .......

      </cliente>
      <cliente>
          .......

      </cliente>
      <cliente>
          .......

      </cliente>


  </clientes>

</documento>


Estando situado en el tag <clientes> quisiera copiarlo (Incluido sus "hijos") hacia otro documento XML.


Uso el objecto TXMLDocument.


Alguien conoce un metodo para hacer esta copia sin tener que escribir el codigo de copiar elemento a elemento?


Grácias

Neftali [Germán.Estévez] 13-10-2020 16:16:50

Si has "parseado" el contenido original hasta llegar a obtener el TAG clientes:


Código Delphi [-]
var
  Doc, Newdoc: IXMLDocument;
  clientes:IXMLNode;
begin
  ...
  clientes := ....ChildNodes['clientes'];

Puedes generar el nuevo contenido utilizando lo siguiente:
Código Delphi [-]

  // Create
  NewDoc := NewXMLDocument;
  NewDoc.DocumentElement := clientes;
  Memo3.Lines.Text := NewDoc.XML.Text;


La franja horaria es GMT +2. Ahora son las 07:08:23.

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