Jump to content
Sign in to follow this  
horr

XML mit simplexml und xpath in HTML umwandeln

Recommended Posts

Hallo,


für ein Projekt muss ich eine XML Datei in HTML umwandeln. Dazu benutze ich am einfachsten simplexml, da der Kunde einen eigenen Webserver hat, und PHP5 installieren kann.


Ich stehe vor einem Großen Problem, und ich komme einfach nicht weiter. Hoffentlich mir hier jemand helfen.




Das ist die xml Datei (frame_syntax.xml):

----------------------------------------------------------------------------------------------










inhalt








----------------------------------------------------------------------------------------------



und ich möchte diesen HTML Code damit erzeugen:

----------------------------------------------------------------------------------------------












inhalt














----------------------------------------------------------------------------------------------




Mit php möchte ich die xml Datei auslesen und sofort HTML Code erzeugen. Der SAX Parser, den simplexml verwendet ist nennt sich Expat. Da ich bei meinem Vorhaben auf Attribute in übergeordneten Element zugreifen muss, denke ich, dass das nur mit xpath zu realisieren ist. Auf XSL möchte ich verzichten, da somit ein weiterer Zwischenschritt nötig ist. Ich kann zwar mit xpath und simplexml die „“ Tags für die erste Ebene schreiben, ich hab nur Probleme, in der mittleren Zeile eine neue Tabelle einzufügen, die mir eine Zeile mit drei Spalten ausgiebt. Ich schaffe es nur, dass in jeder Zeile der ersten Ebene eine neue Tabelle geschrieben wird.



Der folgende Code gibt natürlich noch keine „“ – Tags aus, das möchte ich erst im nächsten Schritt einfügen, wenn ich das Problem gelöst habe:

----------------------------------------------------------------------------------------------


xpath("//tile/parent::*[@rows]/tile") as $zeilen) {

echo "";

foreach($xml->xpath("//tile/parent::*[@cols]/tile") as $spalten) {

echo "";

echo $spalten;

echo "";

}

echo "";

}


?>


----------------------------------------------------------------------------------------------



Hier ist das Ergebnis:

----------------------------------------------------------------------------------------------






inhalt












inhalt












inhalt






----------------------------------------------------------------------------------------------



Ich möchte aber das hier haben:

----------------------------------------------------------------------------------------------


















inhalt


















----------------------------------------------------------------------------------------------



Ich hoffe, dass ich das Problem gut rübergebracht habe.

Share this post


Link to post
Share on other sites
Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...