XML parsen!

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

  • unset
    antwortet
    Zitat von AmicaNoctis Beitrag anzeigen
    OffTopic:


    Die haben den Nachteil, dass du Hierarchien wieder auflösen musst. JSON ist in diesem Zusammenhang auch ein guter Kompromiss.
    *Cem stimmt dem zu*

    Einen Kommentar schreiben:


  • Quetschi
    antwortet
    OffTopic:
    Zitat von AmicaNoctis Beitrag anzeigen
    Die haben den Nachteil, dass du Hierarchien wieder auflösen musst.
    Das meinte ich mit "wenn es irgendwie geht" und ein so großer Nachteil ist das nicht - was ist schon groß dabei, wenn man die Daten dann z.b. wieder via Array weiterverarbeitet.
    Zitat von AmicaNoctis Beitrag anzeigen
    JSON ist in diesem Zusammenhang auch ein guter Kompromiss.
    Nicht um sooo viel besser, aber ja
    Zuletzt geändert von Quetschi; 24.03.2010, 14:31.

    Einen Kommentar schreiben:


  • AmicaNoctis
    antwortet
    OffTopic:
    Zitat von Quetschi Beitrag anzeigen
    Wenn es irgendwie geht, sind mir Csv-Daten dann lieber.
    Die haben den Nachteil, dass du Hierarchien wieder auflösen musst. JSON ist in diesem Zusammenhang auch ein guter Kompromiss.

    Einen Kommentar schreiben:


  • Quetschi
    antwortet
    OffTopic:
    Xml-Dateien in der Größenordnung mag ich irgendwie eh nicht (zumindest nicht in Webanwendungen). Bei 1MB ist mir der Overhead noch eher egal, bei 30MB kann es bei Xml aber durchaus vorkommen, dass 20MB für die Verpackung draufgehen. Wenn es irgendwie geht, sind mir Csv-Daten dann lieber.

    Einen Kommentar schreiben:


  • ezkimo
    antwortet
    Zitat von TriphunEM Beitrag anzeigen
    @ezkimo: jap aber bei 30 mb, geht das leider nicht mit der kompletten übergabe...außerdem will ich das mit php verarbeiten, und nicht in html ausgeben und dann mit js auslesen...das bringt keine punkte!
    Was hat das jetzt mit HTML und JS zu tun? DomDocument ist eine Klasse aus der DOM Extension von PHP.

    Einen Kommentar schreiben:


  • TriphunEM
    antwortet
    PHP-Code:
         $reader = new XMLReader();
         
    $reader->open('test.xml');
         while (
    $reader->read()) {
            if ((
    $reader->depth == 2) && ($reader->nodeType==XMLREADER::ELEMENT)) {
                echo 
    $reader->readInnerXML();  
            }
         } 
    so läufts...perfekt! danke!

    Einen Kommentar schreiben:


  • AmicaNoctis
    antwortet
    Gibt's noch nicht. Du benutzt erst open und dann immer read und für jedes Element holst du dir die Attribute. So schwer ist es auch nicht, wenn man das Handbuch nebenbei offen hat.

    Edit: Korrektur: Beispiele gibt es genug in den Nutzerkommentaren.
    Zuletzt geändert von AmicaNoctis; 24.03.2010, 13:28.

    Einen Kommentar schreiben:


  • TriphunEM
    antwortet
    Ah ok...wo finde ich ein Beispiel dafür?

    Einen Kommentar schreiben:


  • AmicaNoctis
    antwortet
    Zitat von TriphunEM Beitrag anzeigen
    der $reader->??? hat aber leiter keine methode der mir ab dem knoten einfach den untergeordneten XML-Code liefert! Oder doch?
    Doch, read(Inner|Outer)XML().

    Einen Kommentar schreiben:


  • TriphunEM
    antwortet
    @AmicaNoctis: Ja, damit hab ich es auch schon probiert.

    der $reader->??? hat aber leiter keine methode der mir ab dem knoten einfach den untergeordneten XML-Code liefert! Oder doch?

    @ezkimo: jap aber bei 30 mb, geht das leider nicht mit der kompletten übergabe...außerdem will ich das mit php verarbeiten, und nicht in html ausgeben und dann mit js auslesen...das bringt keine punkte!

    Einen Kommentar schreiben:


  • ezkimo
    antwortet
    Das DomDocument Objekt bietet hierfür die Methode getElementsByTagName(). Damit bekommst Du ein DomNodeList Objekt, welches Du dann durchlaufen kannst. Eigentlich recht easy ... aber auch dafür musst Du vorher die gesamte XML Struktur an das DomDocument übergeben.

    Einen Kommentar schreiben:


  • AmicaNoctis
    antwortet
    Hallo,

    wenn du kein komplettes DOM willst, aber die zusätzliche Handarbeit nicht scheust, kannst du auch PHP: XMLReader - Manual nehmen.

    Gruß,

    Amica

    Einen Kommentar schreiben:


  • TriphunEM
    antwortet
    @streuner: wie man xml parst weiß ich im grund. ich hab doch geschrieben was ich genau will, nicht?

    @Quetschi: ja, aber hier muss ich auch erst das ganze xml einlesen, also auch nicht das was ich will...

    Einen Kommentar schreiben:


  • Quetschi
    antwortet
    An die Knoten kommst du z.B. mit einer xPath-Abfrage -> PHP: DOMXPath - Manual - für den Rest google mal nach Begriffen wie xml2array.

    Einen Kommentar schreiben:


  • streuner
    antwortet
    Let me google that for you

    mfg streuner

    Einen Kommentar schreiben:

Lädt...
X