Wie am besten vorgehen?

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

  • Wie am besten vorgehen?

    Hi

    also ich habe hier XML Output der Form:

    Code:
    <adressbook>
       <version id = "1.0" date = "04.06.06" />
       <contacts>
    
          <contact id = "1"
           name = "bla"
           postal = "bla"
           email = "bla">
           <mail show = "true">
               <primary mail ="bla@bla.de" use = "private" />
               <secondary mail ="bla@bla.de" use = "work" />
           </mail>
         </contact>
       </contacts>
    </adressbook>


    Diese Daten sollen ausgelesen und in eine MySQL DB gespeichert werden. Welche in PHP vorhandenen Möglichkeiten würdet ihr da benutzen?

    - Ich will nur auslesen, nichts editieren!
    - Es ist keine richtige .xml, sondern ein externes PHP Script, welches die obige Struktur praktisch als Browserquelltext anzeigt. Macht das nen Unterschied?

    Oder würdet ihr die internen Funktionen sogar Ruhen lassen und auf irgendwelche fertigen Klassen zurückgreifen?


    mfg und danke

  • #2
    wenn php 5 dann z.b. simplexml , aber nur wenn xml wohlgeformt ist.
    mfg

    Kommentar


    • #3
      Ist wohlgeformt, ich kann auch alles auslesen bis auf folgendes, da stößt SimpleXML vermutlich an seine Grenzen:

      Code:
      ...
      <content>
          <setting setting ="DE" content = "text..."></setting>
          <setting setting ="EN" content = "text..."></setting>
          ...
      </content>
      ...
      Attribute auslesen ist ja kein Problem, jedoch will ich hier ja nur den content haben, dessen Nebenattribut eine bestimmte Sprache ist.
      (Beispiel: lese content wo setting = EN)

      mfg
      Zuletzt geändert von INC.; 15.03.2007, 18:32.

      Kommentar


      • #4
        abgesehen von der manuellen iteration durch alle tags "setting" - simplexml unterstützt doch auch xpath?

        Kommentar


        • #5
          Richtig, xpath ist die Lösung, Danke.

          Kommentar

          Lädt...
          X