php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 14.07.2005, 21:35  
Gast
 
Beiträge: n/a
Standard [Erledigt] XML mit simplexml und xpath in HTML umwandeln

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):
----------------------------------------------------------------------------------------------

<?xml version="1.0"?>

<tileset rows="20, max, 20">
<tile />
<tile>
<tileset cols="30, max, 30">
<tile />
<tile>
inhalt
</tile>
<tile />
</tileset>
</tile>
<tile />
</tileset>

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


und ich möchte diesen HTML Code damit erzeugen:
----------------------------------------------------------------------------------------------

<table>
<tr>
<td height=”20”></td>
</tr>

<tr>
<td>
<table>
<tr>
<td width=”30”></td>
<td>inhalt</td>
<td width=”30”></td>
</tr>
</table>
</td>
</tr>

<tr>
<td height=”20”></td>
</tr>
</table>



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



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 „<tr></tr>“ 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 „<table>“ – Tags aus, das möchte ich erst im nächsten Schritt einfügen, wenn ich das Problem gelöst habe:
----------------------------------------------------------------------------------------------

<?php

$xml = simplexml_load_file("frame_syntax.xml");

foreach($xml->xpath("//tile/parent::*[@rows]/tile") as $zeilen) {
echo "<tr>";
foreach($xml->xpath("//tile/parent::*[@cols]/tile") as $spalten) {
echo "<td>";
echo $spalten;
echo "</td>";
}
echo "</tr>";
}

?>

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


Hier ist das Ergebnis:
----------------------------------------------------------------------------------------------

<tr>

<td></td>

<td>inhalt</td>

<td></td>

</tr>



<tr>

<td></td>

<td>inhalt</td>

<td></td>

</tr>



<tr>

<td></td>

<td>inhalt</td>

<td></td>

</tr>

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


Ich möchte aber das hier haben:
----------------------------------------------------------------------------------------------

<tr>

<td></td>

<td></td>

<td></td>

</tr>



<tr>

<td></td>

<td>inhalt</td>

<td></td>

</tr>



<tr>

<td></td>

<td></td>

<td></td>

</tr>

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


Ich hoffe, dass ich das Problem gut rübergebracht habe.
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 14.07.2005, 22:46  
Gast
 
Beiträge: n/a
Standard

mal zusammengekürzt
PHP-Code:
foreach($xml->xpath("//tile/parent::*[@rows]/tile") as $zeilen) {
    foreach(
$xml->xpath("//tile/parent::*[@cols]/tile") as $spalten) {
    }

wie kann da eine hierarchische Ordnung zustande kommen, sprich: wie kann die "innere" Abfrage von der äußeren abhängen?
Was ist/was repäsentiert $zeilen? Und warum wird es anscheinend nicht gebraucht?
  Mit Zitat antworten
Alt 15.07.2005, 00:22  
Gast
 
Beiträge: n/a
Standard

meine PHP Anweisung ist natürlich noch nicht richtig, denn das ist ja das Problem. Ich weiß nicht, wie ich es umschreiben muss, damit ich das gewünschte Ergebnis bekomme.

Mein Ziel ist es, ein HTML Seite generieren zu lassen, die mit einer XML-Datei beschrieben wird. Es soll eine Erleichterung sein, HTML Seiten zu schreiben.
Um es eben einfacher zu machen, benutze ich die XML Datei. Dort beschreibe ich mit einer Syntax, die auch bei Frames verwendet wird, das Seitenlayout. Anhand der Attribute in den "<tileset>" Tags soll meine PHP Datei erkennen, ob die nachfolgenden "<tile>" Tags als <tr> oder <td> geschrieben werden.
  Mit Zitat antworten
Alt 15.07.2005, 01:39  
Gast
 
Beiträge: n/a
Standard

läßt sich das nicht eleganter per http://php.net/xsl lösen?
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Variabeln in html dateien Umwandeln CA$HMIRE PHP Tipps 2008 10 02.05.2008 19:02
nur erlaubte html tags umwandeln PHP Tipps 2006 2 30.10.2006 13:53
HTML Zeichen in einem bestehendem XML Dokument umwandeln PHP Tipps 2006 33 24.03.2006 17:33
Formulartexte HTML - kompatibel umwandeln horstenpeter PHP Tipps 2006 6 22.02.2006 16:43
in HTML Code umwandeln ckrentel Datenbanken 1 24.11.2005 22:47
&amp;amp;amp;lt;if&amp;amp;amp;gt; &amp;amp;amp;lt;/if&amp;amp;amp;gt; in einer HTML Datei fuer Templ PHP-Fortgeschrittene 6 03.11.2005 12:05
XLS/DOC in HTML konvertieren? PHP Tipps 2005-2 0 23.06.2005 23:11
Umlaute in HTML - konforme Form umwandeln Stümper PHP Tipps 2005 19 30.05.2005 08:42
bb code in html umwandeln necrom0rb PHP Tipps 2005 2 06.05.2005 02:50
PDF in html umwandeln JEGO PHP Tipps 2005 2 12.04.2005 15:10
IMAP: Bild(er) in HTML Part richtig darstellen PHP-Fortgeschrittene 1 07.10.2004 12:21
{$varname.optelement} mit preg_match aus HTML extrahieren PHP Tipps 2004 0 11.09.2004 04:13
PDF zu HTML umwandeln (serverseitig) PHP Tipps 2004 8 16.08.2004 17:10
Wie kann ich eine PHP Datei in eine HTML Datei umwandeln PHP Tipps 2004 2 12.08.2004 18:04
Validitor (HTML 4.01) = Schwachsinn? Filewalker Off-Topic Diskussionen 19 03.08.2004 15:27

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
xml in html umwandeln, xml in html konvertieren, xml zu html konvertieren, html aus xml generieren, simplexml html, aus xml html erzeugen, xml html konvertieren, xpath html, html in xml umwandeln, xml datei umwandeln, xml umwandeln in html, xml html umwandeln, html aus xml erzeugen, xml nach html konvertieren, xml datei in html konvertieren, html zu xml konvertieren, php xpath tablerow, html xpath, xpath in html, xml dateien in html umwandeln

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:58 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.