Comunidad de diseño web y desarrollo en internet online

como recorrer un xml generado por php mediante base de datos

Citar            
MensajeEscrito el 02 Sep 2008 01:44 am
estimado me gustaria saber como areglar el xml q me genera el codigo php q dejo aqui:

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
<?PHP
header("Content-type: text/xml");
//Connect to Database
include 'dbconnect.php';
$linkID = mysql_connect($db_host, $db_user, $db_pwd) or die("Error MySQL");
mysql_select_db($db_name, $linkID) or die("no se puede conectar.");
$query = "SELECT * FROM jerarquia ";
$resultID = mysql_query($query, $linkID) or die("Data not found.");
$xml_output = "<?xml version='1.0' encoding='utf-8'?>\n";
$xml_output .= "<informacion>\n";
for($x = 0 ; $x < mysql_num_rows($resultID) ; $x++){
$row = mysql_fetch_assoc($resultID);
////////////////////////////////////////////////////////////////////
$row['text'] = str_replace("&", "&", $row['text']);
$row['text'] = str_replace("<", "<", $row['text']);
$row['text'] = str_replace(">", "&gt;", $row['text']);
$row['text'] = str_replace("\"", "&quot;", $row['text']);
///////////////////////////////////////////////////////////////////

$xml_output .= "\t<ID_CATEGORIA>".$row['ID_CATEGORIA'];
$xml_output .= "\t\t<JER_ID_CATEGORIA>".$row['JER_ID_CATEGORIA']."</JER_ID_CATEGORIA>\n";
$xml_output .= "\t\t<NOMB_CATEGORIA>".$row['NOMB_CATEGORIA']."</NOMB_CATEGORIA>\n";
$xml_output .= "</ID_CATEGORIA>\n";
}
$xml_output .= "</informacion>";
$xmldoc = simplexml_load_string($xml_out);
echo $xml_output;
?>
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
y este es el xml q genera :

<informacion>

<ID_CATEGORIA>
1
<JER_ID_CATEGORIA/>
<NOMB_CATEGORIA>Disco Duro</NOMB_CATEGORIA>
</ID_CATEGORIA>
-
<ID_CATEGORIA>
11
<JER_ID_CATEGORIA>1</JER_ID_CATEGORIA>
<NOMB_CATEGORIA>IDE</NOMB_CATEGORIA>
</ID_CATEGORIA>
-
<ID_CATEGORIA>
12
<JER_ID_CATEGORIA>1</JER_ID_CATEGORIA>
<NOMB_CATEGORIA>Serial Sata</NOMB_CATEGORIA>
</ID_CATEGORIA>
-
<ID_CATEGORIA>
2
<JER_ID_CATEGORIA/>
<NOMB_CATEGORIA>Procesadores</NOMB_CATEGORIA>
</ID_CATEGORIA>
-
<ID_CATEGORIA>
21
<JER_ID_CATEGORIA>2</JER_ID_CATEGORIA>
<NOMB_CATEGORIA>AMD</NOMB_CATEGORIA>
</ID_CATEGORIA>
-
<ID_CATEGORIA>
22
<JER_ID_CATEGORIA>2</JER_ID_CATEGORIA>
<NOMB_CATEGORIA>Intel</NOMB_CATEGORIA>
</ID_CATEGORIA>
-
<ID_CATEGORIA>
3
<JER_ID_CATEGORIA/>
<NOMB_CATEGORIA>Motherboard</NOMB_CATEGORIA>
</ID_CATEGORIA>
-
<ID_CATEGORIA>
31
<JER_ID_CATEGORIA>3</JER_ID_CATEGORIA>
<NOMB_CATEGORIA>AMD</NOMB_CATEGORIA>
</ID_CATEGORIA>
-
<ID_CATEGORIA>
32
<JER_ID_CATEGORIA>3</JER_ID_CATEGORIA>
<NOMB_CATEGORIA>Intel</NOMB_CATEGORIA>
</ID_CATEGORIA>
-
<ID_CATEGORIA>
4
<JER_ID_CATEGORIA/>
<NOMB_CATEGORIA>Memorias</NOMB_CATEGORIA>
</ID_CATEGORIA>
-
<ID_CATEGORIA>
41
<JER_ID_CATEGORIA>4</JER_ID_CATEGORIA>
<NOMB_CATEGORIA>DDR</NOMB_CATEGORIA>
</ID_CATEGORIA>
-
<ID_CATEGORIA>
42
<JER_ID_CATEGORIA>4</JER_ID_CATEGORIA>
<NOMB_CATEGORIA>DDR2</NOMB_CATEGORIA>
</ID_CATEGORIA>
-
<ID_CATEGORIA>
43
<JER_ID_CATEGORIA>4</JER_ID_CATEGORIA>
<NOMB_CATEGORIA>DDR3</NOMB_CATEGORIA>
</ID_CATEGORIA>
-
<ID_CATEGORIA>
5
<JER_ID_CATEGORIA/>
<NOMB_CATEGORIA>Redes</NOMB_CATEGORIA>
</ID_CATEGORIA>
-
<ID_CATEGORIA>
51
<JER_ID_CATEGORIA>5</JER_ID_CATEGORIA>
<NOMB_CATEGORIA>Placas Red</NOMB_CATEGORIA>
</ID_CATEGORIA>
-
<ID_CATEGORIA>
52
<JER_ID_CATEGORIA>5</JER_ID_CATEGORIA>
<NOMB_CATEGORIA>Router</NOMB_CATEGORIA>
</ID_CATEGORIA>
-
<ID_CATEGORIA>
53
<JER_ID_CATEGORIA>5</JER_ID_CATEGORIA>
<NOMB_CATEGORIA>Switch</NOMB_CATEGORIA>
</ID_CATEGORIA>
-
<ID_CATEGORIA>
6
<JER_ID_CATEGORIA/>
<NOMB_CATEGORIA>Placas de Video</NOMB_CATEGORIA>
</ID_CATEGORIA>
-
<ID_CATEGORIA>
61
<JER_ID_CATEGORIA>6</JER_ID_CATEGORIA>
<NOMB_CATEGORIA>AGP</NOMB_CATEGORIA>
</ID_CATEGORIA>
-
<ID_CATEGORIA>
62
<JER_ID_CATEGORIA>6</JER_ID_CATEGORIA>
<NOMB_CATEGORIA>PCI</NOMB_CATEGORIA>
</ID_CATEGORIA>
-
<ID_CATEGORIA>
63
<JER_ID_CATEGORIA>6</JER_ID_CATEGORIA>
<NOMB_CATEGORIA>PCI Express</NOMB_CATEGORIA>
</ID_CATEGORIA>
-
<ID_CATEGORIA>
7
<JER_ID_CATEGORIA/>
<NOMB_CATEGORIA>Multimedia</NOMB_CATEGORIA>
</ID_CATEGORIA>
-
<ID_CATEGORIA>
71
<JER_ID_CATEGORIA>7</JER_ID_CATEGORIA>
<NOMB_CATEGORIA>Placas Sonido</NOMB_CATEGORIA>
</ID_CATEGORIA>
-
<ID_CATEGORIA>
72
<JER_ID_CATEGORIA>7</JER_ID_CATEGORIA>
<NOMB_CATEGORIA>Parlantes</NOMB_CATEGORIA>
</ID_CATEGORIA>
-
<ID_CATEGORIA>
8
<JER_ID_CATEGORIA/>
<NOMB_CATEGORIA>Monitores</NOMB_CATEGORIA>
</ID_CATEGORIA>
-
<ID_CATEGORIA>
81
<JER_ID_CATEGORIA>8</JER_ID_CATEGORIA>
<NOMB_CATEGORIA>CRT</NOMB_CATEGORIA>
</ID_CATEGORIA>
-
<ID_CATEGORIA>
82
<JER_ID_CATEGORIA>8</JER_ID_CATEGORIA>
<NOMB_CATEGORIA>LCD</NOMB_CATEGORIA>
</ID_CATEGORIA>
-
<ID_CATEGORIA>
9
<JER_ID_CATEGORIA/>
<NOMB_CATEGORIA>Dipositivo de Entrada</NOMB_CATEGORIA>
</ID_CATEGORIA>
-
<ID_CATEGORIA>
91
<JER_ID_CATEGORIA>9</JER_ID_CATEGORIA>
<NOMB_CATEGORIA>Mouse</NOMB_CATEGORIA>
</ID_CATEGORIA>
-
<ID_CATEGORIA>
92
<JER_ID_CATEGORIA>9</JER_ID_CATEGORIA>
<NOMB_CATEGORIA>Teclados</NOMB_CATEGORIA>
</ID_CATEGORIA>
-
<ID_CATEGORIA>
10
<JER_ID_CATEGORIA/>
<NOMB_CATEGORIA>Accesorios</NOMB_CATEGORIA>
</ID_CATEGORIA>
-
<ID_CATEGORIA>
101
<JER_ID_CATEGORIA>10</JER_ID_CATEGORIA>
<NOMB_CATEGORIA>Gabinetes</NOMB_CATEGORIA>
</ID_CATEGORIA>
</informacion>
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

y lo que me gustaria realizar

es realizar esto mediante php desde la BASE DE DATOS

<NOMB_PADRE>Disco Duro
<NOMB_HIJO>IDE</NOMB_HIJO>
<NOMB_HIJO>SATA</NOMB_HIJO>
</NOMB_PADRE>

Por kamui19

7 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 02 Sep 2008 03:44 am
¿Podrías ser más específico con tu problema? ¿En que tienes dificultad? de esta manera dudo mucho que alguien pueda ayudarte.

Por Odin

Claber

639 de clabLevel

2 tutoriales

Genero:Masculino   Premio_Secretos

El valle de las hamacas

firefox
Citar            
MensajeEscrito el 02 Sep 2008 03:46 am
si te das cuenta xml se genera con php

cierto...

pero yo quiero crear un xml de padre con sus hijos

y no se como crearlo

Por kamui19

7 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 02 Sep 2008 03:49 am
igual q creas los otros usa un ciclo para poder armarlo como esta estructurada tu base de datos ?

Por talcual

686 de clabLevel



 

Colombia

msie7
Citar            
MensajeEscrito el 02 Sep 2008 04:50 am
esta es mi tabla::

ID_CATEGORIA JER_ID_CATEGORIA NOMB_CATEGORIA
1 NULL Disco Duro
11 1 IDE
12 1 Serial Sata
2 NULL Procesadores
21 2 AMD
22 2 Intel
3 NULL Motherboard
31 3 AMD
32 3 Intel
4 NULL Memorias
41 4 DDR
42 4 DDR2
43 4 DDR3
5 NULL Redes
51 5 Placas Red
52 5 Router
53 5 Switch

Por kamui19

7 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 02 Sep 2008 04:52 am
pero como lo puedo recorrer

<?PHP
header("Content-type: text/xml");
//Connect to Database
include 'dbconnect.php';
$linkID = mysql_connect($db_host, $db_user, $db_pwd) or die("Error MySQL");
mysql_select_db($db_name, $linkID) or die("no se puede conectar.");
$query = "SELECT * FROM jerarquia ";

$resultID = mysql_query($query, $linkID) or die("Data not found.");
$xml_output = "<?xml version='1.0' encoding='utf-8'?>\n";
$xml_output .= "<informacion>\n";
for($x = 0 ; $x < mysql_num_rows($resultID) ; $x++){

$row = mysql_fetch_assoc($resultID);

////////////////////////////////////////////////////////////////////
$row['text'] = str_replace("&", "&", $row['text']);
$row['text'] = str_replace("<", "<", $row['text']);
$row['text'] = str_replace(">", "&gt;", $row['text']);
$row['text'] = str_replace("\"", "&quot;", $row['text']);
///////////////////////////////////////////////////////////////////

$xml_output .= "\t<ID_CATEGORIA>".$row['ID_CATEGORIA'];
$xml_output .= "\t\t<JER_ID_CATEGORIA>".$row['JER_ID_CATEGORIA']."</JER_ID_CATEGORIA>\n";
$xml_output .= "\t\t<NOMB_CATEGORIA>".$row['NOMB_CATEGORIA']."</NOMB_CATEGORIA>\n";
$xml_output .= "</ID_CATEGORIA>\n";


}

$xml_output .= "</informacion>";
echo $xml_output;

Por kamui19

7 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.