Eirücken im Quelltext

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Eirücken im Quelltext

    Tach allerseits!

    Ich hab ein Problem beim Parsen einer XML-Datei:

    Wenn ich die Tags im Quelltext der XML-Datei einrücke, bekomme ich beim auslesen leere Einträge dazwischengestopft.

    Quelltext:
    <?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
    <DROPDOWNS>
    <DROPDOWN NAME="Auswertbarkeit" CALL="Auswertbarkeit">
    <entry value="0">gut auswertbar</entry>
    <entry value="1">auswertbar</entry>
    <entry value="2">schlecht auswertbar</entry>
    <entry value="3">nicht auswertbar</entry>
    </DROPDOWN>
    </DROPDOWNS>

    Ausgabe:
    gut auswertbar

    auswertbar

    schlecht auswertbar

    nicht auswertbar


    Quelltext:
    <?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
    <DROPDOWNS><DROPDOWN NAME="Auswertbarkeit" CALL="Auswertbarkeit"><entry value="0">gut auswertbar</entry><entry value="1">auswertbar</entry><entry value="2">schlecht auswertbar</entry><entry value="3">nicht auswertbar</entry></DROPDOWN></DROPDOWNS>

    Ausgabe:
    gut auswertbar
    auswertbar
    schlecht auswertbar
    nicht auswertbar


    PHP-Code:
    $xmlFile file('foobar.xml');
    $parser xml_parser_create();
    xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,1);
    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);

    function 
    startElement($parser$element_name$element_attribute) {
    }

    function 
    endElement($parser$element_name) {
    }

    function 
    cdata($parser$element_inhalt) {
        echo 
    $element_inhalt.'<br />';

    Funktioniert zwar, ist aber ohne die Möglichkeit einzurücken ziehmlich unübersichtlich.

  • #2
    das ist normal, alle whitespaces sind ja auch cdata.
    gib $element_inhalt nur aus, wenn strlen(trim($element_inhalt)) > 0.

    Kommentar


    • #3
      hmm, ok danke. Hatte das schon so eingebaut, dachte nur da gibts vielleicht ne elegantere Lösung...

      Kommentar

      Lädt...
      X