Frage zu xml_parse()

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

  • Frage zu xml_parse()

    Hallo zusammen,

    ich verwende hier die xml_parse()-Funktion, um eine XML-Datei einzulesen. Das klappt auch alles ganz wunderbar mit den start, cdata und end-Tags.

    Allerdings möchte ich jetzt etwas "mehr": es geht um die start-Tags. Ich möchte gerne, dass der Parser statt auf ein "einfaches" start-Tag (z.b. <location>...) auf ein detaillierter beschriebenes Tag (z.B. <location-id town-type="medium">) reagiert. Und auch nur dann wenn dieses Tag genau so existiert.

    Hier mal konkreter:
    Code:
    <location-id town-type="small">Hintertupfingen</location-id>
    <location-id town-type="medium">Essen</location-id>
    <location-id town-type="large">Berlin</location-id>
    Ich möchte hier z.B. NUR die Werte mit <location-id town-type="small"> und <location-id town-type="medium"> haben! Wie mache ich das?

    Mein Problem ist, dass ich nicht weiß, wie ich den Zusatz < ... town-type="small"> ansprechen soll?!

    Wäre super, wenn mir jemand hier (viellecht aus eigener Erfahrung) den heißen Tipp geben kann! :-)

    Vielen Dank und Grüße,
    Chris

  • #2
    Ich würde XPath benutzen
    Code:
    //location-id[@town-type='small'] | //location-id[@town-type='medium']

    Kommentar


    • #3
      darum muss sich deine eigene funktion kümmern, die mittels start_element_handler alle öffnenden tags durchläuft. rtfm.

      Kommentar


      • #4
        @penizillin: wenn du mein Posting sorgfältig gelesen hättest, würdest du einsehen, dass ich das, was du mir in deinem brillianten Post "rietst" bereits längst verstanden habe und es auch anwende (rtfp)! Ich weiß einfach nur nicht, wie ich auf tiefer verschachtelte Attribute zugreife und im fudging manual steht es auch nicht drin!!!

        @PHP-Desaster: hmmm, das schaue ich mir jetzt mal an. Danke schonmal!

        Gruß,
        Chris

        Kommentar


        • #5
          du schriebst
          Allerdings möchte ich jetzt etwas "mehr": es geht um die start-Tags. Ich möchte gerne, dass der Parser statt auf ein "einfaches" start-Tag (z.b. <location>...) auf ein detaillierter beschriebenes Tag (z.B. <location-id town-type="medium"> ) reagiert.
          und genau das macht die callback funktion. und im manual steht, wie du die attribute ansprichst. wo ist also das problem?

          Kommentar

          Lädt...
          X