Foros del Web » Programando para Internet » PHP »

problema con xml y php

Estas en el tema de problema con xml y php en el foro de PHP en Foros del Web. buenas espero puedan ayudarme con esto, necesito generar un xml como este Código: <?xml version="1.0" encoding="UTF-8"?> <Comprobante xmlns="http://www.sat.gob.mx/cfd/2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/cfd/2 http://www.sat.gob.mx/sitio_internet/cfd/2/cfdv2.xsd" version="2.0" serie="A" folio="1" fecha="2009-08-16T16:30:00" ...
  #1 (permalink)  
Antiguo 23/11/2011, 10:22
 
Fecha de Ingreso: julio-2011
Ubicación: donde me encuentre la noche
Mensajes: 140
Antigüedad: 8 años, 3 meses
Puntos: 3
Pregunta problema con xml y php

buenas espero puedan ayudarme con esto, necesito generar un xml como este
Código:
<?xml version="1.0" encoding="UTF-8"?>
<Comprobante xmlns="http://www.sat.gob.mx/cfd/2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/cfd/2 http://www.sat.gob.mx/sitio_internet/cfd/2/cfdv2.xsd" version="2.0" serie="A" folio="1" fecha="2009-08-16T16:30:00" noAprobacion="1" anoAprobacion="2009" formaDePago="Una sola exhibición" subTotal="350.00" descuento="5.25" total="397.25" tipoDeComprobante="ingreso" noCertificado="30001000000100000800" certificado="MIIE/TCCA+WgAwIBAgIUMzAwMDEwMDAwMDAxMDAwMDA4MDAwDQYJKoZIhvcNAQEFBQAwggFvMRgwFgYDVQQDDA9BLkMuIGRlIHBydWViYXMxLzAtBgNVBAoMJlNlcnZpY2lvIGRlIEFkbWluaXN0cmFjacOzbiBUcmlidXRhcmlhMTgwNgYDVQQLDC9BZG1pbmlzdHJhY2nDs24gZGUgU2VndXJpZGFkIGRlIGxhIEluZm9ybWFjacOzbjEpMCcGCSqGSIb3DQEJARYaYXNpc25ldEBwcnVlYmFzLnNhdC5nb2IubXgxJjAkBgNVBAkMHUF2LiBIaWRhbGdvIDc3LCBDb2wuIEd1ZXJyZXJvMQ4wDAYDVQQRDAUwNjMwMDELMAkGA1UEBhMCTVgxGTAXBgNVBAgMEERpc3RyaXRvIEZlZGVyYWwxEjAQBgNVBAcMCUNveW9hY8OhbjEVMBMGA1UELRMMU0FUOTcwNzAxTk4zMTIwMAYJKoZIhvcNAQkCDCNSZXNwb25zYWJsZTogSMOpY3RvciBPcm5lbGFzIEFyY2lnYTAeFw0xMDA3MzAxNjU4NDBaFw0xMjA3MjkxNjU4NDBaMIGWMRIwEAYDVQQDDAlNYXRyaXogU0ExEjAQBgNVBCkMCU1hdHJpeiBTQTESMBAGA1UECgwJTWF0cml6IFNBMSUwIwYDVQQtExxBQUEwMTAxMDFBQUEgLyBBQUFBMDEwMTAxQUFBMR4wHAYDVQQFExUgLyBBQUFBMDEwMTAxSERGUlhYMDExETAPBgNVBAsMCFVuaWRhZCAxMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDD0ltQNthUNUfzq0t1GpIyapjzOn1W5fGM5G/pQyMluCzP9YlVAgBjGgzwYp9Z0J9gadg3y2ZrYDwvv8b72goyRnhnv3bkjVRKlus6LDc00K7Jl23UYzNGlXn5+i0HxxuWonc2GYKFGsN4rFWKVy3Fnpv8Z2D7dNqsVyT5HapEqwIDAQABo4HqMIHnMAwGA1UdEwEB/wQCMAAwCwYDVR0PBAQDAgbAMB0GA1UdDgQWBBSYodSwRczzj5H7mcO3+mAyXz+y0DAuBgNVHR8EJzAlMCOgIaAfhh1odHRwOi8vcGtpLnNhdC5nb2IubXgvc2F0LmNybDAzBggrBgEFBQcBAQQnMCUwIwYIKwYBBQUHMAGGF2h0dHA6Ly9vY3NwLnNhdC5nb2IubXgvMB8GA1UdIwQYMBaAFOtZfQQimlONnnEaoFiWKfU54KDFMBAGA1UdIAQJMAcwBQYDKgMEMBMGA1UdJQQMMAoGCCsGAQUFBwMCMA0GCSqGSIb3DQEBBQUAA4IBAQArHQEorApwqumSn5EqDOAjbezi8fLco1cYES/PD+LQRM1Vb1g7VLE3hR4S5NNBv0bMwwWAr0WfL9lRRj0PMKLorO8y4TJjRU8MiYXfzSuKYL5Z16kW8zlVHw7CtmjhfjoIMwjQo3prifWxFv7VpfIBstKKShU0qB6KzUUNwg2Ola4t4gg2JJcBmyIAIInHSGoeinR2V1tQ10aRqJdXkGin4WZ75yMbQH4L0NfotqY6bpF2CqIY3aogQyJGhUJji4gYnS2DvHcyoICwgawshjSaX8Y0Xlwnuh6EusqhqlhTgwPNAPrKIXCmOWtqjlDhho/lhkHJMzuTn8AoVapbBUnj" sello="lUye/aLZBJt3AQVyS8pd4PG81i5+vUc7iwRluTxj7ib3o2LWNbE8Jzj7yLwKHSdNhUAn8uA1LwNTeMpLzEjPp5+ARRhxfPXKIJj+Jee+0uPcYwjOjsrOniHPtkHUvl5KRjgS6pUvoOpUpTZ0E+hZMofoi83d9TkwJTfBFMNDzj4=">
  <Emisor nombre="Industrias del Sur Poniente, S.A. de C.V." rfc="ISP900909Q88">
    <DomicilioFiscal calle="Alvaro Obregón" codigoPostal="06700" colonia="Col. Roma Norte" estado="Distrito Federal" localidad="México" municipio="Cuauhtémoc" noExterior="37" noInterior="3" pais="México"></DomicilioFiscal>
    <ExpedidoEn calle="Pino Suarez" codigoPostal="95460" colonia="Centro" estado="Nuevo Léon" localidad="Monterrey" municipio="Monterrey" noExterior="23" pais="México"></ExpedidoEn>
  </Emisor>
  <Receptor nombre="Rosa María Calderón Uriegas" rfc="CAUR390312S87">
    <Domicilio calle="Topochico" codigoPostal="95465" colonia="Jardines del Valle" estado="Nuevo León" localidad="Monterrey" municipio="Monterrey" noExterior="52" pais="México"></Domicilio>
  </Receptor>
  <Conceptos>
    <Concepto cantidad="10" descripcion="Vasos decorados" importe="200" unidad="Caja" valorUnitario="20.00"></Concepto>
    <Concepto cantidad="1" descripcion="Charola metálica" importe="150" unidad="pieza" valorUnitario="150.00"></Concepto>
  </Conceptos>
  <Impuestos>
    <Traslados>
      <Traslado impuesto="IVA" tasa="15.00" importe="52.50"></Traslado>
    </Traslados>
  </Impuestos>
</Comprobante>
las etiquetas deben ser iguales, los datos que van dentro de las etiquetas se supone que son las que lleno dentro de mi formulario en php, pero no consigo crear el xml, como hago para que mis etiquetas sean las mismas, alguien que pueda ayudarme con esto, en php he programado ciertas cosas pero xml no se nada, algo que me recomienden igual para estudiar saludos. Gracias!
  #2 (permalink)  
Antiguo 23/11/2011, 10:35
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 5 meses
Puntos: 2135
Respuesta: problema con xml y php

Puedes usar algo tan sencillo como un echo:

Código PHP:
Ver original
  1. echo "<Traslado impuesto=\"IVA\"></Traslado>";

O si quieres aun mejor control, usa la librería DOM de PHP para generar tu documento XML.

Saludos.
  #3 (permalink)  
Antiguo 23/11/2011, 10:37
 
Fecha de Ingreso: noviembre-2011
Mensajes: 8
Antigüedad: 8 años
Puntos: 1
Respuesta: problema con xml y php

Aqui te dejo un ejemplo de como lo hice yo, a ver si te sirve, en este caso lo que hago es copiar los datos de un fichero xml existente, y añadirlos en un fichero xml nuevo que creo mediante este codigo:

Código PHP:
<?php
$titol
=$_POST["titol"];
$dir=$_POST["dir"];
$act1=$_POST['actor1'];
$act2=$_POST['actor2'];
$data=$_POST["data"];
$prod=$_POST["prod"];
$premi=$_POST["premi"];

$file 'pelis.xml';
$file file_get_contents('pelis.xml');
$sxe = new SimpleXMLElement($file);
$pelicula $sxe->addChild('pelicula');
$pelicula->addChild('titol'$titol);
$pelicula->addChild('director'$dir);

$actors $pelicula->addChild('actors');
$actors->addChild('actor'$act1);
$actors->addChild('actor'$act2);
$pelicula->addChild('data_estrena'$data);
$productors $pelicula->addChild('productors');
$productors->addChild('productor',$prod);
$premis $pelicula->addChild('premis');
$premis->addChild('premi'$premi);

$file1 'pelis2.xml';
file_put_contents($file1$sxe->asXML());
}
?>
Aqui te dejo el codigo de mi archivo xml, por si te interesa

Código:
<?xml version="1.0" encoding="UTF-8"?>
<pelicules>
	<pelicula>
		<titol>Crash</titol>
		<director>Paul Haggis</director>
		<actors>
			<actor>Sandra Bullock</actor>
			<actor>Brendan Fraser</actor>
			<actor>Terrence Howard</actor>
		</actors>
		<productors>
			<productor>Paul Haggis</productor>
			<productor>Barney A. Sarecky</productor>
		</productors>
		<data_estrena>2005</data_estrena>
		<premis>
			<premi>Millor pelicula</premi>
			<premi>Millor guio original</premi>
			<premi>Millor montatge</premi>
		</premis>
	</pelicula>
</pelicules>
  #4 (permalink)  
Antiguo 23/11/2011, 10:45
 
Fecha de Ingreso: julio-2011
Ubicación: donde me encuentre la noche
Mensajes: 140
Antigüedad: 8 años, 3 meses
Puntos: 3
Respuesta: problema con xml y php

Cita:
Iniciado por mask15 Ver Mensaje
Aqui te dejo un ejemplo de como lo hice yo, a ver si te sirve, en este caso lo que hago es copiar los datos de un fichero xml existente, y añadirlos en un fichero xml nuevo que creo mediante este codigo:

Código PHP:
<?php
$titol
=$_POST["titol"];
$dir=$_POST["dir"];
$act1=$_POST['actor1'];
$act2=$_POST['actor2'];
$data=$_POST["data"];
$prod=$_POST["prod"];
$premi=$_POST["premi"];

$file 'pelis.xml';
$file file_get_contents('pelis.xml');
$sxe = new SimpleXMLElement($file);
$pelicula $sxe->addChild('pelicula');
$pelicula->addChild('titol'$titol);
$pelicula->addChild('director'$dir);

$actors $pelicula->addChild('actors');
$actors->addChild('actor'$act1);
$actors->addChild('actor'$act2);
$pelicula->addChild('data_estrena'$data);
$productors $pelicula->addChild('productors');
$productors->addChild('productor',$prod);
$premis $pelicula->addChild('premis');
$premis->addChild('premi'$premi);

$file1 'pelis2.xml';
file_put_contents($file1$sxe->asXML());
}
?>
Aqui te dejo el codigo de mi archivo xml, por si te interesa

Código:
<?xml version="1.0" encoding="UTF-8"?>
<pelicules>
	<pelicula>
		<titol>Crash</titol>
		<director>Paul Haggis</director>
		<actors>
			<actor>Sandra Bullock</actor>
			<actor>Brendan Fraser</actor>
			<actor>Terrence Howard</actor>
		</actors>
		<productors>
			<productor>Paul Haggis</productor>
			<productor>Barney A. Sarecky</productor>
		</productors>
		<data_estrena>2005</data_estrena>
		<premis>
			<premi>Millor pelicula</premi>
			<premi>Millor guio original</premi>
			<premi>Millor montatge</premi>
		</premis>
	</pelicula>
</pelicules>
oye amigo por que tienes una llave } al final de tu codigo me marca un error por lo mismo.
  #5 (permalink)  
Antiguo 23/11/2011, 10:47
 
Fecha de Ingreso: noviembre-2011
Mensajes: 8
Antigüedad: 8 años
Puntos: 1
Respuesta: problema con xml y php

Cita:
Iniciado por ecosysonidos Ver Mensaje
oye amigo por que tienes una llave } al final de tu codigo me marca un error por lo mismo.
jajaja perdona, se me coló, esque este trozo de codigo lo tenia dentro de una función, de ahi el "}".

Quitalo y ya está ;)
  #6 (permalink)  
Antiguo 23/11/2011, 10:53
 
Fecha de Ingreso: julio-2011
Ubicación: donde me encuentre la noche
Mensajes: 140
Antigüedad: 8 años, 3 meses
Puntos: 3
Pregunta Respuesta: problema con xml y php

Cita:
Iniciado por mask15 Ver Mensaje
jajaja perdona, se me coló, esque este trozo de codigo lo tenia dentro de una función, de ahi el "}".

Quitalo y ya está ;)

de echo si se lo quito me da mas errores jeje pero haber guiame en esto por favor, yo tengo mi formulario en php con el cual tengo que generar mi xml que puse primero, el detalle de este xml es que aprtir de mi php tengo que generarlo este lo requiero para lo que es facturacion electronica no se si tengas alguna idea de esto!
  #7 (permalink)  
Antiguo 23/11/2011, 11:11
 
Fecha de Ingreso: noviembre-2011
Mensajes: 8
Antigüedad: 8 años
Puntos: 1
Respuesta: problema con xml y php

Cita:
Iniciado por ecosysonidos Ver Mensaje
de echo si se lo quito me da mas errores jeje pero haber guiame en esto por favor, yo tengo mi formulario en php con el cual tengo que generar mi xml que puse primero, el detalle de este xml es que aprtir de mi php tengo que generarlo este lo requiero para lo que es facturacion electronica no se si tengas alguna idea de esto!
Te dejo el archivo php completo, con las funciones incluidas, tal vez te sirva de mas ayuda

Código PHP:
<?php
if (isset($_POST['usuario']) && isset($_POST['contra'])){
    
setcookie ('usu',$_POST['usuario']);
    
setcookie ('pwd',md5($_POST['contra']));
    
$_COOKIE['usu']=$_POST['usuario'];
    
$_COOKIE['pwd']=md5($_POST['contra']);
}

function 
es_valido(){
    
$user "admin";
    
$pass "admin";
    
$retorna =0;
    if (
$_COOKIE['usu']==$user && $_COOKIE['pwd']==md5($pass)){
        
$retorna 1;
    }
    else {
        
formulario2();
        echo 
'<center><br/><font color="red"><b>Usuario y/o Password incorrecta</b></font></center>';
        
$retorna 0;
    }
    return 
$retorna;
}

function 
formulario2(){
    
$htm file_get_contents('formulario2.html');
    echo 
$htm;
}

function 
formulario(){
    
$html file_get_contents('formulario.html');
    echo 
$html;
    echo 
'<br/><form action="phx_2_4_pelicules.php?pas=menu" method="post"><input value="Torna al menu principal" type="submit"></form>';
}

function 
lee(){
    
$xmlstr=file_get_contents("pelis2.xml");
    
$pelicules = new SimpleXMLElement($xmlstr);
    foreach (
$pelicules->pelicula as $pelicula) {
    echo 
'<br/><b>Pelicula</b>','<br/>','Titol: ',$pelicula->titol'<br/>','<br/>';
    echo 
'<b>Actors</b>','<br/>';
    foreach (
$pelicula->actors->actor as $actor) {
       echo 
' Nom: ',$actor,'<br/>';
    }
    echo 
'<br/>','<b>Director</b>','<br/>','Nom: ',$pelicula->director,'<br/>','<br/>','<b>Data estrena</b>','<br/>','Data: ',$pelicula->data_estrena,'<br/>','<br/>','<b>Productors</b>','<br/>';
    foreach (
$pelicula->productors->productor as $productor) {
       echo 
' Nom: ',$productor,'<br/>';
    }
    echo 
'<br/>','<b>Premis</b>','<br/>';
    foreach (
$pelicula->premis->premi as $premi) {
       echo 
' premi: ',$premi,'<br/>';
    }
    }
echo 
'<br/><form action="phx_2_4_pelicules.php?pas=menu" method="post"><input value="Torna al menu principal" type="submit"></form>';
}

function 
menu(){
    echo 
'<h2>Escoge una opcion</h2>';
    echo 
'<form action="phx_2_4_pelicules.php?pas=form" method="post"><br/><input value="Introducir pelicula" type="submit"></form>';
    echo 
'<form action="phx_2_4_pelicules.php?pas=mostra" method="post"><br/><input value="Lista de peliculas" type="submit"></form>';
    echo 
'<form action="phx_2_4_pelicules.php?pas=sortir" method="post"><br/><input value="Cerrar Sesion" type="submit"></form>';
}

if(
es_valido()){
    if (
$_GET['pas']=="menu"){
    
menu();
    }

    else if (
$_GET['pas']=="sortir"){
    
$_COOKIE="";
    
formulario2();
    }
    else if (
$_GET['pas']=="mostra"){
    
lee();
    }

    else if (
$_GET['pas']=="intro"){
    echo 
'<h3>Dades Introduides</h3><br/><form action="phx_2_4_pelicules.php?pas=menu" method="post"><input value="Vuelve al menu principal" type="submit"></form>';
    
nueva();
    }

    else if (
$_GET['pas']=="form"){
    
formulario();
    }
    else {
    
menu();
    }
}

function 
nueva(){
$titol=$_POST["titol"];
$dir=$_POST["dir"];
$act1=$_POST['actor1'];
$act2=$_POST['actor2'];
$data=$_POST["data"];
$prod=$_POST["prod"];
$premi=$_POST["premi"];

$file 'pelis.xml';
$file file_get_contents('pelis.xml');
$sxe = new SimpleXMLElement($file);
$pelicula $sxe->addChild('pelicula');
$pelicula->addChild('titol'$titol);
$pelicula->addChild('director'$dir);

$actors $pelicula->addChild('actors');
$actors->addChild('actor'$act1);
$actors->addChild('actor'$act2);
$pelicula->addChild('data_estrena'$data);
$productors $pelicula->addChild('productors');
$productors->addChild('productor',$prod);
$premis $pelicula->addChild('premis');
$premis->addChild('premi'$premi);

$file1 'pelis2.xml';
file_put_contents($file1$sxe->asXML());
}
?>
  #8 (permalink)  
Antiguo 23/11/2011, 11:30
 
Fecha de Ingreso: julio-2011
Ubicación: donde me encuentre la noche
Mensajes: 140
Antigüedad: 8 años, 3 meses
Puntos: 3
Respuesta: problema con xml y php

disculpa mi dumbness pero no consigo entender nada como si tengo un campo asi dentro de mi formulario

<label>Nombre:
<input type="text" name="nombre" id="nombre">
</label>

como hago para que me genere el campo de xml que se llama

<Receptor nombre>

y que dentro de este campo también se capturen mis datos que previamente insertare en el campo id= "nombre"

creo que me han salido mas dudas
  #9 (permalink)  
Antiguo 23/11/2011, 11:43
 
Fecha de Ingreso: noviembre-2011
Mensajes: 8
Antigüedad: 8 años
Puntos: 1
Respuesta: problema con xml y php

Cita:
Iniciado por ecosysonidos Ver Mensaje
disculpa mi dumbness pero no consigo entender nada como si tengo un campo asi dentro de mi formulario

<label>Nombre:
<input type="text" name="nombre" id="nombre">
</label>

como hago para que me genere el campo de xml que se llama

<Receptor nombre>

y que dentro de este campo también se capturen mis datos que previamente insertare en el campo id= "nombre"

creo que me han salido mas dudas
los datos que introduces son mandados en el formulario mediante post o get, asi pues, deberas recogerlos con la variable $_POST o $_GET.

el metodo de envio lo pones en esta parte del html
Código HTML:
<form action="" method="post"> 
  #10 (permalink)  
Antiguo 23/11/2011, 11:49
 
Fecha de Ingreso: julio-2011
Ubicación: donde me encuentre la noche
Mensajes: 140
Antigüedad: 8 años, 3 meses
Puntos: 3
Pregunta Respuesta: problema con xml y php

Cita:
Iniciado por mask15 Ver Mensaje
los datos que introduces son mandados en el formulario mediante post o get, asi pues, deberas recogerlos con la variable $_POST o $_GET.

el metodo de envio lo pones en esta parte del html
Código HTML:
<form action="" method="post"> 
siii con eso no tengo problema es decir php enviar, recibir, validar eso no es mi problema ya se recibo mi dato de id= nombre asi
$nombre=$_POST['nombre'];

por que lo estoy enviando en post la cosa es que ya despues de validar y todo
como cambio este dato que recibo en post en mi variable $nombre a una etiqueta xml que se llame
<Receptor nombre>

ese es mi problema generar mi xml
no con la forma en que envio mis datos con php
  #11 (permalink)  
Antiguo 23/11/2011, 12:11
 
Fecha de Ingreso: noviembre-2011
Mensajes: 8
Antigüedad: 8 años
Puntos: 1
Respuesta: problema con xml y php

Cita:
Iniciado por ecosysonidos Ver Mensaje
siii con eso no tengo problema es decir php enviar, recibir, validar eso no es mi problema ya se recibo mi dato de id= nombre asi
$nombre=$_POST['nombre'];

por que lo estoy enviando en post la cosa es que ya despues de validar y todo
como cambio este dato que recibo en post en mi variable $nombre a una etiqueta xml que se llame
<Receptor nombre>

ese es mi problema generar mi xml
no con la forma en que envio mis datos con php
Mira aqui te dejo otro ejemplo que creo que veras mas claro de como crear un archivo xml, mediante php

Tal y como esta aqui, se te crea el xml que pusiste al principio

Código PHP:
<?php
$xml
='<?xml version="1.0" encoding="UTF-8"?>
<Comprobante xmlns="http://www.sat.gob.mx/cfd/2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/cfd/2 http://www.sat.gob.mx/sitio_internet/cfd/2/cfdv2.xsd" version="2.0" serie="A" folio="1" fecha="2009-08-16T16:30:00" noAprobacion="1" anoAprobacion="2009" formaDePago="Una sola exhibición" subTotal="350.00" descuento="5.25" total="397.25" tipoDeComprobante="ingreso" noCertificado="30001000000100000800" certificado="MIIE/TCCA+WgAwIBAgIUMzAwMDEwMDAwMDAxMDAwMDA4MDAwDQYJKoZIhvcNAQEFBQAwggFvMRgwFgYDVQQDDA9BLkMuIGRlIHBydWViYXMxLzAtBgNVBAoMJlNlcnZpY2lvIGRlIEFkbWluaXN0cmFjacOzbiBUcmlidXRhcmlhMTgwNgYDVQQLDC9BZG1pbmlzdHJhY2nDs24gZGUgU2VndXJpZGFkIGRlIGxhIEluZm9ybWFjacOzbjEpMCcGCSqGSIb3DQEJARYaYXNpc25ldEBwcnVlYmFzLnNhdC5nb2IubXgxJjAkBgNVBAkMHUF2LiBIaWRhbGdvIDc3LCBDb2wuIEd1ZXJyZXJvMQ4wDAYDVQQRDAUwNjMwMDELMAkGA1UEBhMCTVgxGTAXBgNVBAgMEERpc3RyaXRvIEZlZGVyYWwxEjAQBgNVBAcMCUNveW9hY8OhbjEVMBMGA1UELRMMU0FUOTcwNzAxTk4zMTIwMAYJKoZIhvcNAQkCDCNSZXNwb25zYWJsZTogSMOpY3RvciBPcm5lbGFzIEFyY2lnYTAeFw0xMDA3MzAxNjU4NDBaFw0xMjA3MjkxNjU4NDBaMIGWMRIwEAYDVQQDDAlNYXRyaXogU0ExEjAQBgNVBCkMCU1hdHJpeiBTQTESMBAGA1UECgwJTWF0cml6IFNBMSUwIwYDVQQtExxBQUEwMTAxMDFBQUEgLyBBQUFBMDEwMTAxQUFBMR4wHAYDVQQFExUgLyBBQUFBMDEwMTAxSERGUlhYMDExETAPBgNVBAsMCFVuaWRhZCAxMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDD0ltQNthUNUfzq0t1GpIyapjzOn1W5fGM5G/pQyMluCzP9YlVAgBjGgzwYp9Z0J9gadg3y2ZrYDwvv8b72goyRnhnv3bkjVRKlus6LDc00K7Jl23UYzNGlXn5+i0HxxuWonc2GYKFGsN4rFWKVy3Fnpv8Z2D7dNqsVyT5HapEqwIDAQABo4HqMIHnMAwGA1UdEwEB/wQCMAAwCwYDVR0PBAQDAgbAMB0GA1UdDgQWBBSYodSwRczzj5H7mcO3+mAyXz+y0DAuBgNVHR8EJzAlMCOgIaAfhh1odHRwOi8vcGtpLnNhdC5nb2IubXgvc2F0LmNybDAzBggrBgEFBQcBAQQnMCUwIwYIKwYBBQUHMAGGF2h0dHA6Ly9vY3NwLnNhdC5nb2IubXgvMB8GA1UdIwQYMBaAFOtZfQQimlONnnEaoFiWKfU54KDFMBAGA1UdIAQJMAcwBQYDKgMEMBMGA1UdJQQMMAoGCCsGAQUFBwMCMA0GCSqGSIb3DQEBBQUAA4IBAQArHQEorApwqumSn5EqDOAjbezi8fLco1cYES/PD+LQRM1Vb1g7VLE3hR4S5NNBv0bMwwWAr0WfL9lRRj0PMKLorO8y4TJjRU8MiYXfzSuKYL5Z16kW8zlVHw7CtmjhfjoIMwjQo3prifWxFv7VpfIBstKKShU0qB6KzUUNwg2Ola4t4gg2JJcBmyIAIInHSGoeinR2V1tQ10aRqJdXkGin4WZ75yMbQH4L0NfotqY6bpF2CqIY3aogQyJGhUJji4gYnS2DvHcyoICwgawshjSaX8Y0Xlwnuh6EusqhqlhTgwPNAPrKIXCmOWtqjlDhho/lhkHJMzuTn8AoVapbBUnj" sello="lUye/aLZBJt3AQVyS8pd4PG81i5+vUc7iwRluTxj7ib3o2LWNbE8Jzj7yLwKHSdNhUAn8uA1LwNTeMpLzEjPp5+ARRhxfPXKIJj+Jee+0uPcYwjOjsrOniHPtkHUvl5KRjgS6pUvoOpUpTZ0E+hZMofoi83d9TkwJTfBFMNDzj4=">
  <Emisor nombre="Industrias del Sur Poniente, S.A. de C.V." rfc="ISP900909Q88">
    <DomicilioFiscal calle="Alvaro Obregón" codigoPostal="06700" colonia="Col. Roma Norte" estado="Distrito Federal" localidad="México" municipio="Cuauhtémoc" noExterior="37" noInterior="3" pais="México"></DomicilioFiscal>
    <ExpedidoEn calle="Pino Suarez" codigoPostal="95460" colonia="Centro" estado="Nuevo Léon" localidad="Monterrey" municipio="Monterrey" noExterior="23" pais="México"></ExpedidoEn>
  </Emisor>
  <Receptor nombre="Rosa María Calderón Uriegas" rfc="CAUR390312S87">
    <Domicilio calle="Topochico" codigoPostal="95465" colonia="Jardines del Valle" estado="Nuevo León" localidad="Monterrey" municipio="Monterrey" noExterior="52" pais="México"></Domicilio>
  </Receptor>
  <Conceptos>
    <Concepto cantidad="10" descripcion="Vasos decorados" importe="200" unidad="Caja" valorUnitario="20.00"></Concepto>
    <Concepto cantidad="1" descripcion="Charola metálica" importe="150" unidad="pieza" valorUnitario="150.00"></Concepto>
  </Conceptos>
  <Impuestos>
    <Traslados>
      <Traslado impuesto="IVA" tasa="15.00" importe="52.50"></Traslado>
    </Traslados>
  </Impuestos>
</Comprobante>
          '
;
       
$name_file="archivo.xml";
       
$file=fopen($name_file,"w+");
       
fwrite ($file,$xml);
       
fclose($file);
?>

Última edición por mask15; 23/11/2011 a las 12:18
  #12 (permalink)  
Antiguo 23/11/2011, 12:24
 
Fecha de Ingreso: julio-2011
Ubicación: donde me encuentre la noche
Mensajes: 140
Antigüedad: 8 años, 3 meses
Puntos: 3
Pregunta Respuesta: problema con xml y php

Cita:
Iniciado por mask15 Ver Mensaje
Mira aqui te dejo otro ejemplo que creo que veras mas claro de como crear un archivo xml, mediante php

Tal y como esta aqui, se te crea el xml que pusiste al principio

Código PHP:
<?php
$xml
='<?xml version="1.0" encoding="UTF-8"?>
<Comprobante xmlns="http://www.sat.gob.mx/cfd/2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/cfd/2 http://www.sat.gob.mx/sitio_internet/cfd/2/cfdv2.xsd" version="2.0" serie="A" folio="1" fecha="2009-08-16T16:30:00" noAprobacion="1" anoAprobacion="2009" formaDePago="Una sola exhibición" subTotal="350.00" descuento="5.25" total="397.25" tipoDeComprobante="ingreso" noCertificado="30001000000100000800" certificado="MIIE/TCCA+WgAwIBAgIUMzAwMDEwMDAwMDAxMDAwMDA4MDAwDQYJKoZIhvcNAQEFBQAwggFvMRgwFgYDVQQDDA9BLkMuIGRlIHBydWViYXMxLzAtBgNVBAoMJlNlcnZpY2lvIGRlIEFkbWluaXN0cmFjacOzbiBUcmlidXRhcmlhMTgwNgYDVQQLDC9BZG1pbmlzdHJhY2nDs24gZGUgU2VndXJpZGFkIGRlIGxhIEluZm9ybWFjacOzbjEpMCcGCSqGSIb3DQEJARYaYXNpc25ldEBwcnVlYmFzLnNhdC5nb2IubXgxJjAkBgNVBAkMHUF2LiBIaWRhbGdvIDc3LCBDb2wuIEd1ZXJyZXJvMQ4wDAYDVQQRDAUwNjMwMDELMAkGA1UEBhMCTVgxGTAXBgNVBAgMEERpc3RyaXRvIEZlZGVyYWwxEjAQBgNVBAcMCUNveW9hY8OhbjEVMBMGA1UELRMMU0FUOTcwNzAxTk4zMTIwMAYJKoZIhvcNAQkCDCNSZXNwb25zYWJsZTogSMOpY3RvciBPcm5lbGFzIEFyY2lnYTAeFw0xMDA3MzAxNjU4NDBaFw0xMjA3MjkxNjU4NDBaMIGWMRIwEAYDVQQDDAlNYXRyaXogU0ExEjAQBgNVBCkMCU1hdHJpeiBTQTESMBAGA1UECgwJTWF0cml6IFNBMSUwIwYDVQQtExxBQUEwMTAxMDFBQUEgLyBBQUFBMDEwMTAxQUFBMR4wHAYDVQQFExUgLyBBQUFBMDEwMTAxSERGUlhYMDExETAPBgNVBAsMCFVuaWRhZCAxMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDD0ltQNthUNUfzq0t1GpIyapjzOn1W5fGM5G/pQyMluCzP9YlVAgBjGgzwYp9Z0J9gadg3y2ZrYDwvv8b72goyRnhnv3bkjVRKlus6LDc00K7Jl23UYzNGlXn5+i0HxxuWonc2GYKFGsN4rFWKVy3Fnpv8Z2D7dNqsVyT5HapEqwIDAQABo4HqMIHnMAwGA1UdEwEB/wQCMAAwCwYDVR0PBAQDAgbAMB0GA1UdDgQWBBSYodSwRczzj5H7mcO3+mAyXz+y0DAuBgNVHR8EJzAlMCOgIaAfhh1odHRwOi8vcGtpLnNhdC5nb2IubXgvc2F0LmNybDAzBggrBgEFBQcBAQQnMCUwIwYIKwYBBQUHMAGGF2h0dHA6Ly9vY3NwLnNhdC5nb2IubXgvMB8GA1UdIwQYMBaAFOtZfQQimlONnnEaoFiWKfU54KDFMBAGA1UdIAQJMAcwBQYDKgMEMBMGA1UdJQQMMAoGCCsGAQUFBwMCMA0GCSqGSIb3DQEBBQUAA4IBAQArHQEorApwqumSn5EqDOAjbezi8fLco1cYES/PD+LQRM1Vb1g7VLE3hR4S5NNBv0bMwwWAr0WfL9lRRj0PMKLorO8y4TJjRU8MiYXfzSuKYL5Z16kW8zlVHw7CtmjhfjoIMwjQo3prifWxFv7VpfIBstKKShU0qB6KzUUNwg2Ola4t4gg2JJcBmyIAIInHSGoeinR2V1tQ10aRqJdXkGin4WZ75yMbQH4L0NfotqY6bpF2CqIY3aogQyJGhUJji4gYnS2DvHcyoICwgawshjSaX8Y0Xlwnuh6EusqhqlhTgwPNAPrKIXCmOWtqjlDhho/lhkHJMzuTn8AoVapbBUnj" sello="lUye/aLZBJt3AQVyS8pd4PG81i5+vUc7iwRluTxj7ib3o2LWNbE8Jzj7yLwKHSdNhUAn8uA1LwNTeMpLzEjPp5+ARRhxfPXKIJj+Jee+0uPcYwjOjsrOniHPtkHUvl5KRjgS6pUvoOpUpTZ0E+hZMofoi83d9TkwJTfBFMNDzj4=">
  <Emisor nombre="Industrias del Sur Poniente, S.A. de C.V." rfc="ISP900909Q88">
    <DomicilioFiscal calle="Alvaro Obregón" codigoPostal="06700" colonia="Col. Roma Norte" estado="Distrito Federal" localidad="México" municipio="Cuauhtémoc" noExterior="37" noInterior="3" pais="México"></DomicilioFiscal>
    <ExpedidoEn calle="Pino Suarez" codigoPostal="95460" colonia="Centro" estado="Nuevo Léon" localidad="Monterrey" municipio="Monterrey" noExterior="23" pais="México"></ExpedidoEn>
  </Emisor>
  <Receptor nombre="Rosa María Calderón Uriegas" rfc="CAUR390312S87">
    <Domicilio calle="Topochico" codigoPostal="95465" colonia="Jardines del Valle" estado="Nuevo León" localidad="Monterrey" municipio="Monterrey" noExterior="52" pais="México"></Domicilio>
  </Receptor>
  <Conceptos>
    <Concepto cantidad="10" descripcion="Vasos decorados" importe="200" unidad="Caja" valorUnitario="20.00"></Concepto>
    <Concepto cantidad="1" descripcion="Charola metálica" importe="150" unidad="pieza" valorUnitario="150.00"></Concepto>
  </Conceptos>
  <Impuestos>
    <Traslados>
      <Traslado impuesto="IVA" tasa="15.00" importe="52.50"></Traslado>
    </Traslados>
  </Impuestos>
</Comprobante>
          '
;
       
$name_file="archivo.xml";
       
$file=fopen($name_file,"w+");
       
fwrite ($file,$xml);
       
fclose($file);
?>

ok, bien entiendo que de esa forma creo el xml que puse en un principio pero los datos que van dentro de las etiquetas yo necesito agregarlos previamente desde mi formulario esto es lo que no consigo hacer, es decir tengo mi formulario con mis campos, pero en mi xml debe de llevar la misma estructura que el ejemplo que muestro es ahi donde tengo un lio
  #13 (permalink)  
Antiguo 23/11/2011, 12:27
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 5 meses
Puntos: 2135
Respuesta: problema con xml y php

Pues con el código que ya te pusieron lo deberías de poder hacer, si no haz lo que te dije al inicio, si ya sabes rescatar las variables solo las pones donde deben de ir en tu formulario:
Código PHP:
Ver original
  1. $nombre = $_POST['nombre'];
  2. $rfc = $_POST['rfc'];
  3. $xml = "<Receptor nombre=\"$nombre\" rfc=\"$rfc\">";

No tiene mucha ciencia.
  #14 (permalink)  
Antiguo 23/11/2011, 12:38
 
Fecha de Ingreso: julio-2011
Ubicación: donde me encuentre la noche
Mensajes: 140
Antigüedad: 8 años, 3 meses
Puntos: 3
Pregunta Respuesta: problema con xml y php

Cita:
Iniciado por GatorV Ver Mensaje
Pues con el código que ya te pusieron lo deberías de poder hacer, si no haz lo que te dije al inicio, si ya sabes rescatar las variables solo las pones donde deben de ir en tu formulario:
Código PHP:
Ver original
  1. $nombre = $_POST['nombre'];
  2. $rfc = $_POST['rfc'];
  3. $xml = "<Receptor nombre=\"$nombre\" rfc=\"$rfc\">";

No tiene mucha ciencia.
bueno para alguien que va empezando con xml si tiene mucha ciencia aun cuando se que es simple empezare por leer algo mas sobre xml gracias
alguna recomendación?
  #15 (permalink)  
Antiguo 23/11/2011, 13:29
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 5 meses
Puntos: 2135
Respuesta: problema con xml y php

Lee sobre DOM en PHP

Etiquetas: formulario, xml
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 22:03.