note 14183 deleted from ref.xml by jimw
| From: | jimw@php.net | Date: | Thu, 20 Dec 2001 23:51:34 +0000 |
| Subject: | note 14183 deleted from ref.xml by jimw | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-23605@lists.php.net to get a copy of this message | ||
You can try this example, it shows how to transform a XML structure to a HTML page.
Puoi provare questo esempio che tu mostra come trasformare ls struttura di un file XML in una pagina
HTML:
<?
$file = "ProvaXml.xml";
$depth = array();
$livellovecchio = 0;
function startElement($parser, $name, $attrs) {
global $livellovecchio;
global $depth;
for ($i = 0; $i < $depth[$parser]; $i++) {
}
$livello = $depth[$parser];
/*
for ($f = 1; $f <= count($attrs); $f ++)
{
echo $attrs[$f];
}
*/
// echo "\nLivello - " . $livello;
// echo "\nLivello vecchio - " . $livellovecchio;
if ($livello > $livellovecchio)
{
echo "<ul>\n";
}
if ($livello < $livellovecchio)
{
echo "</ul>\n";
}
$livellovecchio = $livello;
print "<li><b>$name</b>\n";
$depth[$parser]++;
}
function endElement($parser, $name) {
global $depth;
$depth[$parser]--;
}
function characterData($parser, $data) {
if (trim($data))
{
echo " - ";
}
print $data . "\n";
}
$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
if (!($fp = fopen($file, "r"))) {
die("Errore durante l'apertura del file XML");
}
echo "<ul>\n";
while ($data = fread($fp, 4096)) {
if (!xml_parse($xml_parser, $data, feof($fp))) {
die(sprintf("errore XML: %s alla linea %d",
xml_error_string(xml_get_error_code($xml_parser)),
xml_get_current_line_number($xml_parser)));
}
}
echo "</ul>\n\n";
xml_parser_free($xml_parser);
?>
Create a XML file, for example named XmlProva.xml that contains:
Create un file XML, per esempio chiamato ProvaXml.xml che contiene:
<?xml version="1.0"?>
<DOCUMENTO>
<PADRE1>
<FIGLIO1>prova1</FIGLIO1>
<FIGLIO2>prova2</FIGLIO2>
<FIGLIO3>prova3</FIGLIO3>
<FIGLIO4>prova4</FIGLIO4>
<FIGLIO5>prova5</FIGLIO5>
<FIGLIO6>prova6</FIGLIO6>
<FIGLIO7>prova7</FIGLIO7>
</PADRE1>
<PADRE2>
<FIGLIO1>prova1</FIGLIO1>
<FIGLIO2>prova2</FIGLIO2>
<FIGLIO3>prova3</FIGLIO3>
<FIGLIO4>prova4</FIGLIO4>
<FIGLIO5>prova5</FIGLIO5>
<FIGLIO6>prova6</FIGLIO6>
<FIGLIO7>prova7</FIGLIO7>
</PADRE2>
</DOCUMENTO>
You can see this HTML output...
Potrai vedere il seguente output HTML...
<ul>
<li><b>DOCUMENTO</b>
<ul>
<li><b>PADRE1</b>
<ul>
<li><b>FIGLIO1</b> - prova1
<li><b>FIGLIO2</b> - prova2
<li><b>FIGLIO3</b> - prova3
<li><b>FIGLIO4</b> - prova4
<li><b>FIGLIO5</b> - prova5
<li><b>FIGLIO6</b> - prova6
<li><b>FIGLIO7</b> - prova7
</ul>
<li><b>PADRE2</b>
<ul>
<li><b>FIGLIO1</b> - prova1
<li><b>FIGLIO2</b> - prova2
<li><b>FIGLIO3</b> - prova3
<li><b>FIGLIO4</b> - prova4
<li><b>FIGLIO5</b> - prova5
<li><b>FIGLIO6</b> - prova6
<li><b>FIGLIO7</b> - prova7
</ul>
Bye bye... dAm2000
Ciao ciao... dAm2000