Foros del Web » Programando para Internet » PHP »

imprimir con php un valor en xml

Estas en el tema de imprimir con php un valor en xml en el foro de PHP en Foros del Web. Buenas apañeros; Aquí estoy una vez más pidiendo ayuda, así que les cuento: Tengo en un archivo llamado precios.xml todos los precios que aparecerán en ...
  #1 (permalink)  
Antiguo 07/09/2005, 10:38
Avatar de susaninhax  
Fecha de Ingreso: noviembre-2004
Mensajes: 358
Antigüedad: 19 años, 5 meses
Puntos: 3
De acuerdo imprimir con php un valor en xml

Buenas apañeros;

Aquí estoy una vez más pidiendo ayuda, así que les cuento:

Tengo en un archivo llamado precios.xml todos los precios que aparecerán en mi página. Por otro lado tengo un formulario donde indico el precio de un objeto por medio de xml de la siguiente manera:

Primero tengo que poner esto antes de la tabla del formulario:
Código HTML:
 <!-- TABLA DE PRECIOS- XML -->
<xml id="precios" src="../../precios.xml"></xml> 
A continuación en la tabla que contiene el formulario tengo que espeficiar a cual va a hacer referencia de la siguiente manera:

Código HTML:
<table width="60%" border="0" align="center" cellpadding="2" cellspacing="2" class="text" datasrc="#precios"> 
y luego en la celda escribo el precio de la siguiente manera:

Código HTML:
<td bgcolor="#A8E9EE" class="mayor"><div align="center"> 
                            <strong><span datafld="unoyearprecioiva"></span></strong></div></td> 

Pero ahora bien, una vez le doi a enviar, el formulario debe enviarme un email a mi direccion de correo electrónica con los datos del formulario y el precio, Me llega todos los datos excepto el precio. Como debo escribir en php lo que me imprime el xml????????????? He probado de estas dos maneras:

1 manera)
Código PHP:
$mensaje1=$mensaje1."<font size='6' color='#000000' face='Verdana, Arial, Helvetica'><center><span datafld='unoyearprecio'></span> €</font> 
2 manera)
Código PHP:
$mensaje1=$mensaje1."<font size='6' color='#000000' face='Verdana, Arial, Helvetica'><center>$precio €</font> 
Y en el formulario :
Código HTML:
<input name="precio" type="hidden" id="precio" value="<?php echo "<span datafld='unoyearprecioiva'></span>";?>">

Pero esta última no se si está bien escrita, supongo que no. Alguien sabe como puedo solucionarlo?????'' necesito imprimir ese valor que tengo en xml , como puedo hacer, alguien me echa un amano porfabor!!! estaría muy agradecida,

Muchas gracias de antemano, un saludo para todos!!!
  #2 (permalink)  
Antiguo 07/09/2005, 11:09
Avatar de susaninhax  
Fecha de Ingreso: noviembre-2004
Mensajes: 358
Antigüedad: 19 años, 5 meses
Puntos: 3
xml y php

Nadie sabe¿? de veras que nadie ha utilizado xml y ha tenido que sacar uno de esos valores e imprimirlo en php??? o es por el post que he puesto que es muy largo y da vagueza leerlo? si lo he echo largo es para que sea facil de entender o eso pretendo. pero de veras que necesito ayuda, porfabor!!!

Un saludo, y gracias de antemano.
  #3 (permalink)  
Antiguo 08/09/2005, 02:54
 
Fecha de Ingreso: julio-2005
Ubicación: Mexicali, B.C.
Mensajes: 14
Antigüedad: 18 años, 8 meses
Puntos: 0
A ver si te puedo ayudar

-Tienes un archivo XML y en html lo puedes ver bien.
-Cuando lo manipulas en php te falta información.

Lo mas adecuado es utilizar las funciones del metodo SAX de parser de xml
ahi te va una aplicacion que utilizo en mi sitio. Tengo un archivo XML y lo analizo en php

<html>
<head>
<title>Boletines</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="tabla_concentra.css" title="Default">
</head>

<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="638" height="100%">
<tr>
<td height="43" bgcolor="#405D79"><div style="font-family:arial,helvetica; font-size:12pt; color:white; font-weight:600;">Para Tu Salud</div></td>
</tr>
<tr><td>
<?php
$file = "lista_mp.xml";
$tag = "";

function startElement($parser, $name, $attrs)
{
// echo "uno";
global $tag;
$tag = $name;
switch($name)
{
case "boletines": echo "<table width=\"450\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"naranja-marco-tabla\">";break;
case "num":break;
case "boletin":echo "<tr><td><div style=\"margin-top:3px; margin-bottom:3px; text-align:center;\">"; break;
case "imagen":{
echo "<table width=\"95%\" class=\"contorno-articulo\" style=\"height:auto; margin: auto;\"><tr>";
echo " <td width=\"60\" rowspan=\"2\"><img src=\"";
}; break;
case "titulo": echo "<td width=\"366\" height=\"33\"><div class=\"titulo-articulo\">"; break;
case "ruta": echo "<td width=\"88\"><a href=\""; break;
case "intro": echo "<td height=\"37\" colspan=\"2\"><div class=\"contenido-articulo\">"; break;
case "mes":break;
case "ano":break;
case "area":break;
}


}

function endElement($parser, $name)
{ switch($name)
{
case "boletines": echo "</table>";break;
case "num": echo "";break;
case "boletin":echo "</div></td></tr>"; break;
case "imagen": echo "\" width=\"40\"></td>"; break;
case "titulo": echo "</div></td>"; break;
case "ruta": echo "\" target=\"_blank\" class=\"enlace\" >Ver Mas...</a></td></tr><tr> "; break;
case "intro":{

echo "</div></td>";
echo "</tr></table>";
};break;
case "mes":break;
case "ano":break;
case "area":break;
}
// echo "tres";


}

function characterData($parser, $value)
{
global $tag;
switch($tag)
{
case "boletines": echo $value;break;
case "num": break;
case "boletin":echo $value; break;
case "imagen": echo $value; break;
case "titulo": echo $value; break;
case "ruta": echo $value; break;
case "intro": echo $value; break;
case "mes":break;
case "ano":break;
case "area":break;
}


// echo "dos";


}

$simpleparser = xml_parser_create();
xml_parser_set_option($simpleparser, XML_OPTION_CASE_FOLDING,0);

xml_set_element_handler($simpleparser, "startElement", "endElement");
xml_set_character_data_handler($simpleparser, "characterData");

if(!($fp = fopen($file, "r") ))
{
die("Error al abrir entrada XML: Enviar informe a [email protected]");
}

while($data = fread( $fp, filesize($file)))
{
if( !xml_parse($simpleparser, $data, feof($fp)))
{
die( xml_error_string(xml_get_error_code($simpleparser) ) );
}
}
xml_parser_free($simpleparser)
?>
</td></tr>
</table>
</body>
</html>


///La funcion function characterData($parser, $value) es la que maneja la informacion
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




La zona horaria es GMT -6. Ahora son las 16:46.