Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: SimpleXML Parsing Attributes Problem

    Benny

    • Mitglied
    • Beiträge: 245
    SimpleXML Parsing Attributes Problem
    am: 05. Januar 2012, 21:13:34
    Hey,

    hänge seit Tagen an einem scheinbar simplem Problem.

    Ich habe eine XML Datei wie z.B.:

    Code: XML  [Auswählen]
    <titles>
     <title xml:lang="x-jat" type="main">Planetes</title>
     <title xml:lang="el" type="official">ΠΛΑΝΗΤΕΣ</title>
    </titles>

    Mit folgendem PHP Script:

    Code: PHP  [Auswählen]
    // $filename Ist o.a. Inhalt
    $xml = simplexml_load_file($filename);
    foreach ($xml->titles[0]->title as $key => $value) {
        foreach ($value->attributes() as $a=>$b) {
          echo 'A:'.$a; echo '<br>';
          echo 'B:'.$b; echo '<br>';
        }
      }

    Spuckt er mir nur das Attribut "TYPE" und den "Inhalt" aus. Hätte aber gerne noch die "xml:lang".
    Hat jemand von euch da eine Idee?

    Viele Grüße,
    Benjamin

    Linkback: https://www.modified-shop.org/forum/index.php?topic=17690.0

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Re: SimpleXML Parsing Attributes Problem
    Antwort #1 am: 06. Januar 2012, 02:28:40
    Siehe:
    Mach mal:

    Code: PHP  [Auswählen]
    echo '<pre>';
    var_dump($xml);
    echo '</pre>';

    Und schau dir mal das Array an. ;)

    Gruß

    h-h-h

    Benny

    • Mitglied
    • Beiträge: 245
    Re: SimpleXML Parsing Attributes Problem
    Antwort #2 am: 06. Januar 2012, 22:43:25
    Hallo h-h-h und danke für deine Antwort.

    Im Vardump ist die xml:lang nicht drin.

    Genau die beiden Ergebnisse habe ich auch gefunden. Jedoch setzen die Beispiele voraus, dass die Namespaces xmlns:xml="http://www.w3.org/XML/1998/namespace" da ist. Was bei mir nicht der Fall ist.

    Das File wird nicht von mir generiert. Ich muss nur mit arbeiten.
    Am einfachsten wäre es ja dies irgendwie da hinzuzufügen, nur wie?

    Matt

    • Experte
    • Beiträge: 4.241
    Re: SimpleXML Parsing Attributes Problem
    Antwort #3 am: 06. Januar 2012, 23:24:59
    [...]
    Genau die beiden Ergebnisse habe ich auch gefunden. Jedoch setzen die Beispiele voraus, dass die Namespaces xmlns:xml="http://www.w3.org/XML/1998/namespace" da ist. Was bei mir nicht der Fall ist.
    [...]

    Muss es aber. Sonst kannst du den Namespace nicht nutzen.

    [...]
    Am einfachsten wäre es ja dies irgendwie da hinzuzufügen, nur wie?

    Datei zunächst mit "file_get_contents()" einlesen, mit "str_replace" das root-Element mit dem erforderlichen Namespace erweitern und erst dann an simpleXML geben.

    Benny

    • Mitglied
    • Beiträge: 245
    Re: SimpleXML Parsing Attributes Problem
    Antwort #4 am: 07. Januar 2012, 00:02:24
    @Matt

    Boah "file_get_contents" mit "str_replace"... auf das einfachste kommt man nicht...

    Danke. Probiere ich direkt Morgen mal aus.
    4 Antworten
    3148 Aufrufe
    14. Februar 2012, 13:35:41 von web28
    2 Antworten
    474 Aufrufe
    08. Oktober 2023, 16:25:02 von modse
    8 Antworten
    2521 Aufrufe
    16. Juni 2021, 13:13:30 von RobtheTop
    7 Antworten
    3489 Aufrufe
    05. Oktober 2011, 09:01:37 von Matt