Foros del Web » Programando para Internet » PHP »

Escribir un XML de categorias y subcategorias

Estas en el tema de Escribir un XML de categorias y subcategorias en el foro de PHP en Foros del Web. Holas tengo una consulta necesito generar un XML de la siguiente forma <categorias> <categoria> <subcategoria/> <subcategoria/> <subcategoria/> . . . </categoria> <categoria> <subcategoria/> <subcategoria/> <subcategoria/> ...
  #1 (permalink)  
Antiguo 19/01/2007, 16:08
 
Fecha de Ingreso: enero-2007
Mensajes: 1
Antigüedad: 17 años, 3 meses
Puntos: 0
Escribir un XML de categorias y subcategorias

Holas tengo una consulta necesito generar un XML de la siguiente forma

<categorias>
<categoria>
<subcategoria/>
<subcategoria/>
<subcategoria/>
.
.
.
</categoria>
<categoria>
<subcategoria/>
<subcategoria/>
<subcategoria/>
.
.
.
</categoria>
</categorias>

Mi base de datos es:

SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for categorias
-- ----------------------------
CREATE TABLE `categorias` (
`idcat` int(11) NOT NULL auto_increment,
`category` varchar(100) collate latin1_general_cs NOT NULL,
`active` int(1) NOT NULL,
`date` datetime NOT NULL,
`subcat` int(1) NOT NULL,
`cat` int(5) NOT NULL,
PRIMARY KEY (`idcat`)
) ENGINE=MyISAM AUTO_INCREMENT=48 DEFAULT CHARSET=latin1 COLLATE=latin1_general_cs DELAY_KEY_WRITE=1;

-- ----------------------------
-- Records
-- ----------------------------
INSERT INTO `categorias` VALUES ('1', 'CATEGORIA1', '1', '2007-01-05 12:52:17', '0', '0');
INSERT INTO `categorias` VALUES ('2', 'CATEGORIA2', '1', '2007-01-05 12:52:17', '0', '0');
INSERT INTO `categorias` VALUES ('3', 'CATEGORIA3', '1', '2007-01-05 12:52:17', '0', '0');
INSERT INTO `categorias` VALUES ('37', 'CAT1_SUBCATEGORIA1', '1', '2007-01-19 10:19:28', '1', '1');
INSERT INTO `categorias` VALUES ('38', 'CAT1_SUBCATEGORIA2', '1', '2007-01-19 10:20:42', '1', '1');
INSERT INTO `categorias` VALUES ('39', 'CAT1_SUBCATEGORIA3', '1', '2007-01-19 10:21:10', '1', '1);
INSERT INTO `categorias` VALUES ('44', 'CAT2_SUBCATEGORIA1', '1', '2007-01-19 11:48:18', '1', '2');
INSERT INTO `categorias` VALUES ('45', 'CAT2_SUBCATEGORIA2', '1', '2007-01-19 11:48:40', '1', '2');
INSERT INTO `categorias` VALUES ('46', 'CAT2_SUBCATEGORIA3', '1', '2007-01-19 11:48:55', '1', '2);
INSERT INTO `categorias` VALUES ('47', 'CAT3_SUBCATEGORIA1', '1', '2007-01-19 11:49:11', '1', '3');

Bueno soy novato en esto asi que hago mis consultas con dreamweaver

este es el php:

<?php require_once('Connections/cat.php');
require("functions.php");
header("Content-Type: text/xml");

mysql_select_db($database_pcl, $pcl);
$query_categorias ="SELECT * FROM categorias WHERE active = 1 AND subcat = 0 ORDER BY idcat ASC";
$categorias = mysql_query($query_categorias, $cat) or die(mysql_error());
$row_categorias = mysql_fetch_assoc($categorias);
$totalRows_categorias = mysql_num_rows($categorias);
$date = explode(" ", $row_categorias['date']);

echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
echo "<categorias>\n";
do{
echo "<categoria idcat=\"".$row_categorias['idcat']."\" category='".utf8_encode(ucfirst($row_categorias['category']))."' date=\"".utf8_encode($date[0])."\">\n";

//aqui tengo que poner las subcategorias de cada uno, aqui me quedé
//echo '<subcategoria name="Nombre de la subcategoria..." />';

echo "</categoria>\n";
} while ($row_categorias = mysql_fetch_assoc($categorias));
echo "</categorias>";
mysql_free_result($categorias);
?>

Ojalá alguien pueda ayudar a este aprendiz a resolver este problema. Muchas Gracias.
  #2 (permalink)  
Antiguo 20/01/2007, 02:17
Avatar de carlosmbrizuela  
Fecha de Ingreso: enero-2007
Ubicación: La Plata (Argentina)
Mensajes: 490
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: Escribir un XML de categorias y subcategorias

estas tratando de meter un atributo a una etiqueta que no lo tiene y es cerrada.
lo que yo haria es lo siguiente...

<categorias>
<categoria>
<subcategoria nombre="lo que sea"><subcategoria/>
<subcategoria><subcategoria/>
<subcategoria><subcategoria/>
</categoria>
</categorias>

Fijate si tenes bien definido el DTD del xml.

Pregunta, porque tantas comillas, dobles y simples, y barras?????????
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 23:45.