---
title: "Mini-Extension soll XML auslesen"
url: "https://www.typo3.net/d/125510-mini-extension-soll-xml-auslesen"
source: "typo3.net"
tags: ["Extensions","Extbase","Fluid","Frage"]
created: "2016-12-19"
last_reply: "2016-12-20"
replies: 2
solved: false
page: 1
pages: 1
lang: "de"
---

# Mini-Extension soll XML auslesen

Extensions › Extbase · 2 Antworten · gestartet 2016-12-19

## Eröffnungsbeitrag

**OCB** · 2016-12-19 · [Beitrag #1](https://www.typo3.net/d/125510-mini-extension-soll-xml-auslesen/1)

Hallo miteinander,

ich habe eine Mini-Extension erstellt, die eine externe XML-Datei ausgeben soll. Im Backend gibt man eine URL ein, die dann weiter verarbeitet wird. Ich bin überrascht, dass das einigermaßen klappt, da meine erste Extension :)

Damit klappt es bisher ganz gut, aber ... (das aber kommt gleich)

```php
	public function listAction() {

		$url = $this->settings['xmluri'];
		$xml = simplexml_load_file($url) or die("Error: Cannot create object");
		// print_r($xml);

		foreach ($xml->children() as $item) {
			$xmlTree[] = $item->Title;
		}
		
		$this->view->assign('xml', $xmlTree);

	}
```

Im Fluid-Template kann ich damit den Titel ausgeben.

```php
	<f:for each="{xml}" as="item">
		<h3>{item}</h3>
	</f:for>
```

Der Punkt ist nun, wie ich an die anderen Elemente der XML-Datei rankomme, denn da gibt's noch weitere Nodes.

Was muss ich schreiben, damit ich das XML so ausgeben kann? Wie macht man das am besten, mag mir jemand helfen? :-)

```php
	<f:for each="{xml}" as="item">
		<h3>{item.Title}</h3>
                <h3>{item.Teaser}</h3>
	</f:for>
```

Gruß
OCB

## Antworten

### [#2](https://www.typo3.net/d/125510-mini-extension-soll-xml-auslesen/2) · jenses · 2016-12-20

Es sollte dohc reichen, $xml an's Fluid-Template zu übergeben,
und dich dort dann per <f:for each=""> durch den Baum zu hangeln.
Dafür wurde Fluid ja schließlich entwickelt,
daß man eben nicht die Daten komplett in PHP aufdröseln muß,
sondern das nach Bedarf und flexibel im Template macht...

### [#3](https://www.typo3.net/d/125510-mini-extension-soll-xml-auslesen/3) · OCB · 2016-12-20

> **jenses schrieb:**
>
> Es sollte dohc reichen, $xml an's Fluid-Template zu übergeben,
> und dich dort dann per <f:for each=""> durch den Baum zu hangeln.

Das hatte ich natürlich schon probiert, aber es gelang mir nicht, das XML richtig zu übergeben, der Fluid-Debugger zeigt kein richtiges Array. Ich konnte aber das XML ins json-Format umwandeln:

```php
$xml = simplexml_load_file($url) or die("Error: Cannot create object");
$json = json_encode($xml);
$js = json_decode($json,TRUE);
$this->view->assign('xml', $js);
```

Damit hat es nun geklappt, der Rest passiert nun im Fluid-Template.

Jetzt muss ich nur noch rausfinden, wie ich eine Sortierung hinkriege ;)

---

Quelle: „Mini-Extension soll XML auslesen“, typo3.net, https://www.typo3.net/d/125510-mini-extension-soll-xml-auslesen
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
