[TYPO3-german] wie benutze ich xml2array() ?

Chris Wolff - AERTiCKET AG cwolff at aer.de
Mon Dec 1 17:40:22 CET 2014


Hi Bernd,
was genau versuchst du denn Zu machen?
pi_flexform lassen sich mit xml2array() lesen. (das ist genau das wofür die funktionen entwickel wurden)

und müsste fluid_content/flux nicht eine funkion / utility classe haben mit denen sich flux lnhalte verarbeiten lassen.

Gruss chris

-----Ursprüngliche Nachricht-----
Von: typo3-german-bounces at lists.typo3.org [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von bernd wilke
Gesendet: Montag, 1. Dezember 2014 16:29
An: typo3-german at lists.typo3.org
Betreff: Re: [TYPO3-german] wie benutze ich xml2array() ?

Am 01.12.14 15:30, schrieb Christian Platt:
> Hallo Bernd,
>
>
> die funktion xml2array() und die dazu passenden array2xml() können beim wording etwas verwirren.
>
> hast du einen Array, so kannst du den damit in ein Standard xml überführen.
> Genau dieses Standard xml kannst du dann mit xml2array wieder zurücküberführen.
>
> Somit ideal geeigent um properties oder andere Objekteigenschaftenm, die ich heute noch nicht kenne, zu speichern.
>
> Es ist nicht dazu geeignet ein xml in einen Array zu wandeln.
>
> Da kann uns aber Herr json weiterhelfen.
>
> Versuch mal folgenden Dreizeiler....
> 	
>   	function getArrayFromXML($xmlstr){
> 		$xml= new SimpleXMLElement($xmlstr);
> 		$json     = json_encode( $xml );
> 		return json_decode( $json, TRUE );
> 	}

das hab ich mal eingebaut. Sieht schon mal besser als die anderen Dinge aus (s.u.).

ich glaub ich bin aber trotzdem noch weit weg vom Abgleich zwischen Fluid_content-/Flux-Definition und pi_flexform-Inhalten.


> Liebe Grüße
> Christian
>
> Am 01.12.2014 um 09:40 schrieb bernd wilke <t3ng at bernd-wilke.net>:
>

>> ich versuche mit \TYPO3\CMS\Core\Utility\GeneralUtility::xml2array() ein Fluid-Template zu analysieren.
>>
>> das erste Problem waren die Namespace-Deklarationen. Das konnte ich aber mit preg_replace() lösen.
>>
>> allerdings erhalte ich jetzt den Fehler:
>> | Line 2: Invalid document end
>>
>> kann xml2array() keine mehrzeiligen Tags?

grundsätzlich wohl schon, xml2array erwartet aber, dass das Dokument aus 
genau einem Tag besteht. in meinem Fall stört sich die Function daran 
dass das erste Tag auch sofort wieder geschlossen wird und danach doch 
noch etwas kommt. (da das äußere Tag nur auf Wunsch mit ausgeliefert 
wird, kann ich außenrum noch ein <wrap>|</wrap> bauen.)

danach zeigt sich aber, dass nur die Tag-Namen als Knoten in einem Baum 
  ausgegeben werden und gleichnamige Tags, die parallel liegen sich 
gegenseitig überschreiben.

Ich hab dannoch xml2tree () versucht, aber da sind dann eher zu viele 
Infos, mit leeren 'values', die ich gar nicht zuordnen kann.

>> Der Anfang meines Dokuments (nach dem preg_replace()):
>>
>> | <f:layout name="Content" />
>> | <div xmlns="http://www.w3.org/1999/xhtml"
>> |      xmlns:flux="http://fedext.net/ns/flux/ViewHelpers"
>> |      xmlns:v="http://fedext.net/ns/vhs/ViewHelpers"
>> |      xmlns:f="http://typo3.org/ns/fluid/ViewHelpers">
>> |
>> |     <f:section name="Configuration">
>> |       :
>>

bernd
-- 
http://www.pi-phi.de/cheatsheet.html
_______________________________________________
TYPO3-german mailing list
TYPO3-german at lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german



More information about the TYPO3-german mailing list