Sonia: XML- parsen mehrerer Dateien

Beitrag lesen

Hi,

jetzt hab ich noch ein anderes Problem.
ich parse in meinem dokument mehrere XML Dateien
und das ergebnis dessen ist etwas komisch.

irgendwie wird nur eine Datei ausgegeben und die
andere nicht.
die passenden xml-dateien sind unter:
<www.los-arcos.net/inhalt.xml>
<www.los-arcos.net/text1.xml>
<www.los-arcos.net/themen1.xml>

das hier ist mein dokument:

<html>
<head>
<title>Hauptseite</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.unnamed1 {  font-family: Arial, Helvetica, sans-serif; font-size: 9pt; color: #CCCCFF; font-weight: bold}
.Ueberschrift { font-family: Arial, Helvetica, sans-serif; font-size: 14pt; color: #9999FF; font-weight: bold }
-->
</style>
</head>

<body bgcolor="#FFFFFF" background="images/DSC01176_2.gif" link="#660066" vlink="#660066" alink="#660066">
<div id="Layer1" style="position:absolute; width:200px; height:466px; z-index:1; left: 804px; top: 21px; background-color: #000066; layer-background-color: #000066; border: 1px none #000000">
  <div align="center" class="ueberschrift">
    <p>Unter - Themen:</p>
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
      <?PHP
$xmlFile = file("themen$men.xml");
$parser = xml_parser_create();
xml_set_element_handler($parser, "startElement","endElement");
xml_set_character_data_handler($parser, "cdata");

foreach($xmlFile as $elem)
{
  xml_parse($parser, $elem);
}

xml_parser_free($parser);

echo 'nr1';
echo $ausgabe;
unset ($ausgabe);
unset ($xmlFile);
unset ($parser);

?>
    </table>
  </div>
</div>
<center>
  <table border="0" cellspacing="0" cellpadding="0" align="center">
<?PHP
if (!isset($men))
{
    //echo '<span class="Ueberschrift">INHALT</span><br><br>';
    $xmlFile = file("inhalt.xml");
    $parser = xml_parser_create();
    xml_set_element_handler($parser, "startElement","endElement");
    xml_set_character_data_handler($parser, "cdata");

foreach($xmlFile as $elem)
    {
          xml_parse($parser, $elem);
    }

xml_parser_free($parser);
    echo $ausgabe;
    unset ($ausgabe);
    unset ($xmlFile);
      unset ($parser);
}
else
{
  if ($men==1)
    {
        echo 'tet';
        $xmlFile2 = file("text$men.xml");
        $parser2 = xml_parser_create();
        xml_set_element_handler($parser2, "startElement","endElement");
        xml_set_character_data_handler($parser2, "cdata");

foreach($xmlFile2 as $elem)
        {
              xml_parse($parser2, $elem);
        }

xml_parser_free($parser2);
        echo $ausgabe;
        unset ($ausgabe);
        unset ($xmlFile2);
        unset ($parser2);

}
}

//***** Auslesefunktionen ******

function startElement($parser, $element_name, $element_attribute)
{
  global $ausgabe;
  $element_name = strtolower($element_name);
  switch ($element_name)
  {
    case "kapitel$submen":
         $ausgabe .= "";
         break;
    case "leer":
        $ausgabe .= "<TD><img src="images/shim.gif" width="100" height="1"> ";
        break;
     case "abschnitt":
        $ausgabe .= "<TR>";
        break;
    case "gesamttitel":
        $ausgabe .= "<TD><center><span class="Ueberschrift">";
        break;
    case "thema":
        $ausgabe .= "<TR>";
        break;
    case "link":
        $ausgabe .= "<TD><div align="left"><span class="unnamed1"><A HREF=";
        break;
    case "href":
        $ausgabe .= """;
        break;
    case "titel":
        $ausgabe .= "<TD><img src="images/shim.gif" width=50 height=1></TD><TD class="unnamed1">";
        break;
    case "text":
        $ausgabe .= "<tr><td><br><br><div align="left"><span class="unnamed1">";
        break;
    case "header":
        $ausgabe .= "<tr><td><br><br><div align="left"><span class="ueberschrift">";
        break;
    default:
        break;
  }
}

function endElement($parser, $element_name)
{
  global $ausgabe;
  $element_name = strtolower($element_name);
  switch ($element_name)
  {
     case "leer":
        $ausgabe .= "</TD>";
        break;
     case "abschnitt":
        $ausgabe .= "</TR>";
        break;
     case "gesamttitel":
        $ausgabe .= "<span class="Ueberschrift"></center></TD>";
        break;
     case "thema":
        $ausgabe .= "</TR>";
        break;
      case "link":
        $ausgabe .= "</A></SPAN></DIV></TD>";
        break;
     case "href":
        $ausgabe .= "" target="_self">";
        break;
     case "linkname":
        $ausgabe .= "";
        break;
     case "titel":
        $ausgabe .= "</TD>";
        break;
     case "text":
        $ausgabe .= "</span></div></td></tr>";
        break;
       case "header":
        $ausgabe .= "</div></span></td></tr>";
        break;
     default:
        break;
  }
}

function cdata($parser, $element_inhalt)
{
    global $ausgabe;
    $ausgabe .= $element_inhalt;
}
?>
</table>
</center>
</body>
</html>