Manuel B.: Parser und Root-Node

Hi,
ich programmiere gerade eine Klasse in PHP, die SimpleXML unter PHP4 weitgehen simulieren soll.

Jetzt ist mir aufgefallen, das die Root-Node eigentlich bei allen XML-Parsern ignoriert wird.

<?xml version="1.0" ?>
<root>
     <data>
          <sonstiges>Iregndein Text</sonstiges>
     </data>
</root>

bei einer solche Datei ist der erste tag, der im Baum vorkommt dann <data>
Ist das normal/üblich/standardkonform? Und heisst das, ich kann in der Rootnode keine Attribute angeben?

Ich hab dazu zwar beim W3C gesucht, aber nicht das richtige gefunden. Ein Link auf die richtige Seite würde mir auch schon reichen. Ich kann mir das auch selber alesen :)

thx4hlp

MfG
Manuel

  1. Hallo,

    ich programmiere gerade eine Klasse in PHP, die SimpleXML unter PHP4 weitgehen simulieren soll.

    Jetzt ist mir aufgefallen, das die Root-Node eigentlich bei allen XML-Parsern ignoriert wird.

    Sicher nicht.

    <?xml version="1.0" ?>
    <root>
         <data>
              <sonstiges>Iregndein Text</sonstiges>
         </data>
    </root>

    bei einer solche Datei ist der erste tag, der im Baum vorkommt dann <data>
    Ist das normal/üblich/standardkonform? Und heisst das, ich kann in der Rootnode keine Attribute angeben?

    Dann machst du was falsch.
    Bei deiner Datei ist das Wurzelelement <root>.  Du kannst auch beim Element <root> Attribute eintragen.

    Grüße
    Thomas

    --
    Surftip: kennen Sie schon Pipolino's Clowntheater?
    http://www.clowntheater-pipolino.net/
    1. Hi,

      »» Dann machst du was falsch.
      »» Bei deiner Datei ist das Wurzelelement <root>.  Du kannst auch beim Element <root> Attribute eintragen.

      Ich mach schon alles richtig, bei meiner Klasse kann in in der Rootnode auch attribute verarbeiten. Nur konnten das bisher keine XML-Parser für PHP, die ich kenne.

      Also ist meine Klasse absolut in Ordnung und uch hab doch richtig gelesen :)

      Danke für die Auskunft

      MfG
      Manuel

      1. echo $begrueszung;

        Ich mach schon alles richtig, bei meiner Klasse kann in in der Rootnode auch attribute verarbeiten. Nur konnten das bisher keine XML-Parser für PHP, ...

        simplexml_load_* liefert ein SimpleXMLElement-Objekt zurück und das ist dein Root-Element da solltest du mit ->attributes() die Attribute erreichen können.

        ... die ich kenne.

        Willst du noch einen für PHP4 kennenlernen?

        Das PEAR-Package XML_Tree bietet dir vielleicht das, was du grade selbst entwickelst. [1]

        echo "$verabschiedung $name";

        [1] OK, das ist kein Parser. Zum eigentlichen Parsen greift XML_Tree auf XML_Parser zu.

      2. Hallo,

        Nur konnten das bisher keine XML-Parser für PHP, die ich kenne.

        Wie gesagt, ein XML-Parser kann das. Alles andere ist kein XML-Parser. Dast ist nicht nur so hergesagt, sondern schlicht eine Voraussetzung für einen Parser. ;-)

        Grüße
        Thomas

        --
        Surftip: kennen Sie schon Pipolino's Clowntheater?
        http://www.clowntheater-pipolino.net/
        1. da fällt mir ein ...

          Expath ist doch auch schon beim PHP 4 dabei.
          http://www.zend.com/zend/art/parsing.php?article=parsing&kind=a&id=3163&open=1&anc=0&view=1

          --
          Surftip: kennen Sie schon Pipolino's Clowntheater?
          http://www.clowntheater-pipolino.net/