Zum Inhalt springen

XML2Array

Erstellt am 24. Mai 2006 · 3 Antworten · letzte Antwort am 26. Mai 2006

Tags: Frage

cstueben ·

Hallo,

ich versuche in einer Extension mit der Funktion

t3lib_div::xml2array

ein XML-File in ein Array zu 'stopfen'. Es landet immer nur das letzte Objekt im Array. Also:

<bla>
<eintrag>
<id>1</id>
<text>text 1 blabla</text>
</eintrag>
<eintrag>
<id>2</id>
<text>text 2 blabla</text>
</eintrag>
</bla>

wird zu

Array([eintrag]=>Array([id]=>2 [text]=>text 2 blabla))

Wo bleibt der Rest frage ich mich? Hat jemend einen wertvollen Hinweis / Tipp in der Sache?

Gruß

Christian

javalexG ·

Ich habe eine eigene Klasse dazu geschrieben, alle XML-Inhalte auszugeben.
Die macht dann aus dieser XML-Datei:

<?xml version="1.0" encoding="ISO-8859-1"?>
<record>
	<element param1="param1value" param2="param2value">
		<subelement subparam="subparamvalue">
			<data dataparam="dataparamvalue">Text</data>
		</subparam>
	</element>
</record>

folgenden Array:

Array
(
    [RECORD] => Array
        (
            [ATTRIBUTES] => Array
                (
                    [ATTR] => data
                )
            [ELEMENT] => Array
                (
                    [ATTRIBUTES] => Array
                        (
                            [PARAM1] => param1value
                            [PARAM2] => param2value
                        )
                    [SUBELEMENT] => Array
                        (
                            [ATTRIBUTES] => Array
                                (
                                    [SUBPARAM] => subparamvalue
                                )
                            [DATA] => Array
                                (
                                    [ATTRIBUTES] => Array
                                        (
                                            [DATAPARAM] => dataparamvalue
                                        )
                                    [VALUE] => Text
                                )
                        )
                )
        )
)

Ich wollte diese Klasse demnächst ins Typo3-Repository als Extension hochladen, hatte bisher aber leider keine Zeit dazu...

Falls Interesse besteht, werde ich versuchen, die Klasse demnächst hochzuladen.

Gruß

Alex

cstueben ·

...genau die Funktion/Methode wende ich ja an...nur leiderbekomme ich nur das letzte Objekt aus dem XML-File zurück.

Es funktioniert offenbar nur, wenn ich die Objekte indiziere...

...
<item index="1">
...
</item>
<item index="2">
...
</item>

Das finde ich etwas 'unglücklich', weill ich leider auf die auszulesenden XML-Files keinen Einfluss habe...