Ver Mensaje Individual
  #7  
Antiguo 21-10-2025
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 662
Reputación: 18
espinete Va camino a la fama
Probablemente haya otra forma mejor de hacer el reemplazo, pero me vi apurado ayer y lo hice así en plan rápido porque si no no dormía

Creo que hay un error aquí:
MyXML.XML.Text := stringreplace(MyXML.XML.Text,'</IDDestinatario></item>','</IDDestinatario></Destinatarios>',[rfReplaceAll]);

Debería ser así. me equivoqué al copiar/pegar:
MyXML.XML.Text := stringreplace(MyXML.XML.Text,'</item></Destinatarios>','</IDDestinatario></Destinatarios>',[rfReplaceAll]);

Esto solo funciona si el XML generado antes de llamar a FormatXMLData contiene todo el XML en una sola línea, porque es la única forma de que se encuentre esa cadena exacta a reemplazar.
Si ya estuviera formateado, con cada nodo en una línea del archivo, el reemplazo no funciona (no existe esa cadena seguida tal cual), y habría que usar la función comentada anteriormente, que está más currada.

Ojo, yo he detectado lo de <item> solo en estos dos nodos, pero puede que ocurra también en otros y habrá que estar atentos.
Responder Con Cita