Quote from Gustavo1973 on January 21, 2021, 5:34 pmnecesito crear un archivo con extension .xml con los elementos de un array, puedo hacerlo desde VisualNeoWeb?
Alguien podria ayudarme en esto?, se agradece desde ya
necesito crear un archivo con extension .xml con los elementos de un array, puedo hacerlo desde VisualNeoWeb?
Alguien podria ayudarme en esto?, se agradece desde ya

Quote from luishp on January 21, 2021, 6:14 pm@gustavo1973 dependiendo de la complejidad de los elementos dentro del array y de la estructura que debe tener el archivo .xml puede ser desde relativamente sencillo a bastante complicado. ¿Puedes poner un ejemplo del tipo de datos que tiene el array y la estructura que esperas que tenga el .xml final?
@gustavo1973 dependiendo de la complejidad de los elementos dentro del array y de la estructura que debe tener el archivo .xml puede ser desde relativamente sencillo a bastante complicado. ¿Puedes poner un ejemplo del tipo de datos que tiene el array y la estructura que esperas que tenga el .xml final?
Quote from Gustavo1973 on January 21, 2021, 6:29 pmPerdon, este es al archivo completo:
<?xml version="1.0" encoding="ISO-8859-1"?> <envioCfe> <idEmisor>2020</idEmisor> <codSucursal>2</codSucursal> <tipoComprobante>101</tipoComprobante> <serie>A</serie> <numero>?</numero> <fechaEmision>20210121</fechaEmision> <formaPago>1</formaPago> <usuario>admin</usuario> <password>e939ab8d828e7e0aea9092cbef4805890552eabc40f6267c13ad3b6934f4ba3d</password> <xmlData> <![CDATA[ <CFE> <DatosGenerales> <MntBruto>1</MntBruto> <FchVenc>20210130</FchVenc> </DatosGenerales> <Receptor> <TipoDocRecep>3</TipoDocRecep> <CodPaisRecep>UY</CodPaisRecep> <DocRecep>41986093</DocRecep> <RznSocRecep></RznSocRecep> <DirRecep> </DirRecep> <CiudadRecep>Salto</CiudadRecep> <DeptoRecep>Salto</DeptoRecep> </Receptor> <Detalle> <Item> <NroLinDet>1</NroLinDet> <IndFact>3</IndFact> <NomItem></NomItem> <DescItem>Un producto</DescItem> <Cantidad>1.00</Cantidad> <UniMed>N/A</UniMed> <PrecioUnitario>100</PrecioUnitario> <MontoItem>100</MontoItem> <DescuentoPct>0.00</DescuentoPct> <DescuentoMonto>0.00</DescuentoMonto> <RecargoPct>0.00</RecargoPct> <RecargoMnt>0.00</RecargoMnt> </Item> </Detalle> <Totales> <TpoMoneda>UYU</TpoMoneda> <CantLinDet>1</CantLinDet> <MntNoGrv>0.00</MntNoGrv> <MntIvaenSusp>0.00</MntIvaenSusp> <MntNetoIvaTasaMin>0.00</MntNetoIvaTasaMin> <MntNetoIvaTasaBasica>81.97</MntNetoIvaTasaBasica> <IVATasaMin>10</IVATasaMin> <IVATasaBasica>22</IVATasaBasica> <MntIVATasaMin>0.00</MntIVATasaMin> <MntImpuestoPer>0.00</MntImpuestoPer> <MntExpoyAsim>0.00</MntExpoyAsim> <MntIVATasaBasica>18.03</MntIVATasaBasica> <MntTotal>100.00</MntTotal> <MontoNF>0.00</MontoNF> <MntPagar>100.00</MntPagar> </Totales> <Adenda> </Adenda> </CFE> ]]> </xmlData> </envioCfe>
Perdon, este es al archivo completo:
<?xml version="1.0" encoding="ISO-8859-1"?> <envioCfe> <idEmisor>2020</idEmisor> <codSucursal>2</codSucursal> <tipoComprobante>101</tipoComprobante> <serie>A</serie> <numero>?</numero> <fechaEmision>20210121</fechaEmision> <formaPago>1</formaPago> <usuario>admin</usuario> <password>e939ab8d828e7e0aea9092cbef4805890552eabc40f6267c13ad3b6934f4ba3d</password> <xmlData> <![CDATA[ <CFE> <DatosGenerales> <MntBruto>1</MntBruto> <FchVenc>20210130</FchVenc> </DatosGenerales> <Receptor> <TipoDocRecep>3</TipoDocRecep> <CodPaisRecep>UY</CodPaisRecep> <DocRecep>41986093</DocRecep> <RznSocRecep></RznSocRecep> <DirRecep> </DirRecep> <CiudadRecep>Salto</CiudadRecep> <DeptoRecep>Salto</DeptoRecep> </Receptor> <Detalle> <Item> <NroLinDet>1</NroLinDet> <IndFact>3</IndFact> <NomItem></NomItem> <DescItem>Un producto</DescItem> <Cantidad>1.00</Cantidad> <UniMed>N/A</UniMed> <PrecioUnitario>100</PrecioUnitario> <MontoItem>100</MontoItem> <DescuentoPct>0.00</DescuentoPct> <DescuentoMonto>0.00</DescuentoMonto> <RecargoPct>0.00</RecargoPct> <RecargoMnt>0.00</RecargoMnt> </Item> </Detalle> <Totales> <TpoMoneda>UYU</TpoMoneda> <CantLinDet>1</CantLinDet> <MntNoGrv>0.00</MntNoGrv> <MntIvaenSusp>0.00</MntIvaenSusp> <MntNetoIvaTasaMin>0.00</MntNetoIvaTasaMin> <MntNetoIvaTasaBasica>81.97</MntNetoIvaTasaBasica> <IVATasaMin>10</IVATasaMin> <IVATasaBasica>22</IVATasaBasica> <MntIVATasaMin>0.00</MntIVATasaMin> <MntImpuestoPer>0.00</MntImpuestoPer> <MntExpoyAsim>0.00</MntExpoyAsim> <MntIVATasaBasica>18.03</MntIVATasaBasica> <MntTotal>100.00</MntTotal> <MontoNF>0.00</MontoNF> <MntPagar>100.00</MntPagar> </Totales> <Adenda> </Adenda> </CFE> ]]> </xmlData> </envioCfe>

Quote from luishp on January 21, 2021, 7:10 pm@gustavo1973 ¿y como es tu array? ¿es un array de objetos recuperado de neoPhp?
@gustavo1973 ¿y como es tu array? ¿es un array de objetos recuperado de neoPhp?
Quote from Gustavo1973 on January 21, 2021, 7:12 pmSi, es un array que toma los datos de una base de datos a traves de Neophp
Si, es un array que toma los datos de una base de datos a traves de Neophp

Quote from luishp on January 22, 2021, 9:56 am@gustavo1973 lo más fácil sería hacer algo como esto:
SetVar [archivoXML] '<?xml version="1.0" encoding="ISO-8859-1"?>\r\n' SetVar [archivoXML] '[archivoXML]<envioCfe>\r\n' SetVar [archivoXML] '[archivoXML]<idEmisor>[miArray(0).anio]</idEmisor>\r\n' SetVar [archivoXML] '[archivoXML]<codSucursal>[miArray(0).sucursal]</codSucursal>\r\n' SetVar [archivoXML] '[archivoXML]<tipoComprobante>[miArray(0).tipoComprobante]</tipoComprobante>\r\n' ...Es decir generamos el código XML y lo vamos almacenando en una variable [archivoXML] que después podemos guardar en el dispositivo local con VarToLocalFile o enviar medianto neoPhp al servidor para guardarla en una base de datos o como un archivo independiente.
Fíjate que lo único que hago es sustituir los valores dentro del código XML por los que están almacenados en el Array [miArray]. En este caso he utilizado el primer elemento del Array [miArray(0)] pero puedes utilizar un LOOP e ir recorriendo todos los elementos guardando cada uno en un archivo diferente.
Saludos.
@gustavo1973 lo más fácil sería hacer algo como esto:
SetVar [archivoXML] '<?xml version="1.0" encoding="ISO-8859-1"?>\r\n' SetVar [archivoXML] '[archivoXML]<envioCfe>\r\n' SetVar [archivoXML] '[archivoXML]<idEmisor>[miArray(0).anio]</idEmisor>\r\n' SetVar [archivoXML] '[archivoXML]<codSucursal>[miArray(0).sucursal]</codSucursal>\r\n' SetVar [archivoXML] '[archivoXML]<tipoComprobante>[miArray(0).tipoComprobante]</tipoComprobante>\r\n' ...
Es decir generamos el código XML y lo vamos almacenando en una variable [archivoXML] que después podemos guardar en el dispositivo local con VarToLocalFile o enviar medianto neoPhp al servidor para guardarla en una base de datos o como un archivo independiente.
Fíjate que lo único que hago es sustituir los valores dentro del código XML por los que están almacenados en el Array [miArray]. En este caso he utilizado el primer elemento del Array [miArray(0)] pero puedes utilizar un LOOP e ir recorriendo todos los elementos guardando cada uno en un archivo diferente.
Saludos.

Quote from luishp on January 22, 2021, 9:57 amAh, se me olvidaba. Los caracteres '\r\n' que pongo al final de cada linea, corresponden al salto de página para archivos de texto plano, como es el caso de los XML.
Ah, se me olvidaba. Los caracteres '\r\n' que pongo al final de cada linea, corresponden al salto de página para archivos de texto plano, como es el caso de los XML.
Quote from Gustavo1973 on November 12, 2022, 11:53 pm@luishp tengo el siguiente problema al intentar crear el archivo xml
una linea en particular al momento de generar el archivo hace que caiga toda mi aplicacion, :
SetVar [archivo] '[archivo]<![CDATA[\r\n'Me compila en blanco la aplicacion con esa linea
Probe sustituyendo los caracteres pero mismo resultado
SetVar [archivo] '[archivo]<![#91]CDATA[#91]\r\n'De que manera puedo hacerlo,
@luishp tengo el siguiente problema al intentar crear el archivo xml
una linea en particular al momento de generar el archivo hace que caiga toda mi aplicacion, :
SetVar [archivo] '[archivo]<![CDATA[\r\n'
Me compila en blanco la aplicacion con esa linea
Probe sustituyendo los caracteres pero mismo resultado
SetVar [archivo] '[archivo]<![#91]CDATA[#91]\r\n'
De que manera puedo hacerlo,

Quote from luishp on November 13, 2022, 2:01 pm@gustavo1973 VisualNEO Web no incluye caracteres especiales preconfigurados pero añade soporte para UNICODE:
UnicodeToChar 91 [abreCorchete] UnicodeToChar 93 [cierraCorchete] SetVar [archivo] "[archivo]<![abreCorchete]CDATA[cierraCorchete]\r\n"Saludos.
@gustavo1973 VisualNEO Web no incluye caracteres especiales preconfigurados pero añade soporte para UNICODE:
UnicodeToChar 91 [abreCorchete] UnicodeToChar 93 [cierraCorchete] SetVar [archivo] "[archivo]<![abreCorchete]CDATA[cierraCorchete]\r\n"
Saludos.