|
[WEBENV] XML-Datenquelle in PHP/XHTML nur mit ajax oder auch anders?
|
|
 15 Aug 2006, 11:25
|
6. Schein       
Punkte: 1338
seit: 18.10.2004
|
Kennt sich jemand damit aus? Also ich habe ne XML-Datei incl. eigenem DTD - alles selber gecodet, aber will die jetzt in ne Website einbauen, als quasi bzw. Pseudo-Datenbank. Leider finde ich nirgends wie das geht. Und nein, ich möchte kein XSLT etc. verwenden. Nur XML / PHP + XHTML & CSS. THX 4 HELP! keiner nen plan? oder geht das quasi nur mit ajax ?? >>projects.xml Zitat <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE projects SYSTEM "projects.dtd"> <projects> <project> <name>Discopunk</name> <bild1>projects/discopunk1.png</bild1> <bild2>projects/discopunk2.png</bild2> <desc1>Page coding // xhtml, php, mysql, css</desc1> <desc2>Layout optimizing // image cutting</desc2> <desc3>Thanks to: mars.one + dede</desc3> </project> <project> <name>Dope Dj Culture</name> <bild1>projects/ddc05.png</bild1> <bild2>projects/ddc06.png</bild2> <desc1>Content</desc1> <desc2>Page coding // xhtml, php, css</desc2> <desc3>Layouting</desc3> </project> <project> <name>Beatcity</name> <bild1>projects/beatcity1.png</bild1> <bild2>projects/beatcity2.png</bild2> <desc1>Idea, concept, promotion, administration</desc1> <desc2>Page coding // xhtml, css</desc2> <desc3>Layouting</desc3> </project> <project> <name>Chantals Welt</name> <bild1>projects/chantal1.png</bild1> <bild2>projects/chantal2.png</bild2> <desc1>Page coding // xhtml, css</desc1> <desc2>Layouting</desc2> <desc3>thanks to: Annelie Schober</desc3> </project> <project> <name>Foto-Wittmair</name> <bild1>projects/fowittmair1.png</bild1> <bild2>projects/fowittmair2.png</bild2> <desc1>Page coding // html, css</desc1> <desc2>Layouting</desc2> <desc3>Thanks to: Mario Ratzel</desc3> </project> <project> <name>Boys can cook</name> <bild1>projects/boyscancook1.png</bild1> <bild2>projects/boyscancook2.png</bild2> <desc1>Idea, concept, maintenance, administration</desc1> <desc2>Page coding, layout // xhtml, css</desc2> <desc3>Content</desc3> </project> <project> <name>BNZ . Style</name> <bild1>projects/bnz1.png</bild1> <bild2>projects/bnz2.png</bild2> <desc1>Idea, concept, maintenance, administration</desc1> <desc2>Page coding, layout // xhtml, css</desc2> <desc3>Content</desc3> </project> <project> <name>BSZ Floeha RIP</name> <bild1>projects/bsz1.png</bild1> <bild2>projects/bsz2.png</bild2> <desc1>Idea, content, concept, maintenance, administration</desc1> <desc2>Page coding, layout // xhtml, css</desc2> <desc3>Thanks to: WG01/U01/WG02</desc3> </project> <project> <name>BlockRockinBeats at Wu-Area</name> <bild1>projects/brb1.png</bild1> <bild2>projects/brb2.png</bild2> <desc1>Idea, concept, maintenance, administration</desc1> <desc2>Page coding, layout // xhtml, css, php</desc2> <desc3>Thanks to: Sven, GunJa, Steppenwolle and WU5</desc3> </project> </projects> >>projects.dtd Zitat <!ELEMENT projects (project)*> <!ELEMENT project (name, bild1, bild2, desc1, desc2, desc3)> <!ELEMENT name (#PCDATA)> <!ELEMENT bild1 (#PCDATA)> <!ELEMENT bild2 (#PCDATA)> <!ELEMENT desc1 (#PCDATA)> <!ELEMENT desc2 (#PCDATA)> <!ELEMENT desc3 (#PCDATA)> jedes project soll in einer html-seite (ausgelesen durch php) angezeigt werden, allerdings dynamisch .. DANKE und grüße aus berlin =)
|
|
|
Antworten(1 - 13)
|
|
 15 Aug 2006, 13:17
|

2. Schein  
Punkte: 90
seit: 22.08.2005
|
Anmerkung: ich habe die Erfahrung gemacht, das es bei einfachen XML Dateien (ohne Element-Attribute z.b.) bequemer und schneller ist preg_match_all zu verwenden. Anonsten bietet der IX Artikel eine gute Einleitung. Auch die Beispiele & Kommentare im Online PHP-Handbuch sind dazu - wie ich finde - sehr gut. -> http://php.net/xml
--------------------
|
|
|
|
|
 15 Aug 2006, 13:39
|

Ivan         
Punkte: 3352
seit: 01.04.2006
|
hier ist mein programmiertes Gästebuch. Da habe ich allerdings XML + XSL verwendet. Php hat nen einfachen XSL Prozessor und nen XML parser und damit funzt das alles richtig super. Kannst dir ja den Code auf der Seite angucken. http://141.30.216.90/Home/Neu/Index.php?pa...e=Show&action=1Ganz weiß ich noch nicht was du machen willst. Also du möchtest die in XML stehenden daten mit PHP verarbeiten und sozusagen mit ECHO ausgeben, bzw an den Browser senden? Wenn das deine Intention ist benutzt du die PHP DOM Klasse. http://us2.php.net/manual/de/ref.dom.phpCODE $doc = new DOMDocument(); //$doc->validateOnParse = true; damit wird dein XML gleich validiert, nach deiner DTD die du in der XML datei angegeben hast, versteht sich $doc->load("PfadzuDeinerXMLdatei.xml");
So damit hast du die datei geladen. Jetzt willst du sicher auf die einzelnen Elemente zugreifen. Dafür würde ich dir vorschlagen Indizes zu vergeben. Dann kannst du ganz einfach die Funktion CODE $doc->getElementById($Index);
oder eben wenn keine Indizes vergeben.
$doc->getElementsByTagName($blabla);
benutzen. Dom XML Klasse ist für ältere PHP versionen. Dieser Beitrag wurde von No Name: 15 Aug 2006, 13:41 bearbeitet
--------------------
T for Vendetta.
On his way to return to innocence.
"Man, was die uns erzählt hat, kam aus einem Buch, das muss einer geschrieben haben, der keine Ahnung von dem hatte, worüber er sich ausließ."
"Miles, hörst Du den Vogel da draußen? Das ist 'ne Spottdrossel. Sie hat keine eigene Stimme, sie macht nur die Stimmen der anderen nach und das willst du nicht. Wenn du dein eigener Herr sein willst, musst du deine eigene Stimme finden. Darum geht's. Sei also nur du selbst."
An Rezepten für Apfelkuchen mangelt es wahrhaftig nicht auf der Welt
Tenac auf der Suche nach seinem Meister ious D
look into my eyes and its easy to see one and one make two, two and one make three, it was destiny
|
|
|
|
|
 16 Aug 2006, 00:43
|

Ivan         
Punkte: 3352
seit: 01.04.2006
|
Also ich kann dir nur empfehlen XSLT bzw. XSL für das Layout, XML für die Daten und PHP für die Funktionalität zu benutzen das ist einfach nur genial. W3C abgesegnet bzw. sogar empfohlen. Zusätzlich noch Hot Creation hat mir der Martschi geflüstert. XSL ist gar nicht so kompliziert hat nur ein paar Funktionen die man kennen muss, bzw. kennen sollte. XSL ist eine funktionale Sprache, also nicht mit imperativen Sprachen verwechseln. XSL ist selber ein XML dokument. XSL macht im Prinzip nichts anderes als die Daten aus deinem für den XML Prozessor angegebenen XML File (Daten) zu nehmen und sie auf deine gwünschte neue XML FORM umzuwandeln also in deinem Fall in XHTML. In der W3C schule findest du alles was wichtig ist. Auch alle funktionen. Du solltest dir XML, XSL und XPATH angucken. XSL greift auf alle Sachen in XML mittels Xpath zu. http://www.w3schools.com/Also die XML Daten mit xsl auszulesen und zu transformieren ist bei weitem einfacher als die daten mit PHP auszulesen, zu versuchen in ein Array zu hauen, dieses dann kontrollieren zu wollen und auch noch auszugeben. Das ist nicht in der Sache des Erfinders denn damit vermischt du Layout und Funktionalität. Eigentlich ist PHP nur der Parser der Prozessor und der Überwacher das die Eingaben bzw. Anfragen a la (.../projekte.php ?nr=1) korrekt sind. Php setzt je nach anfrage, mittels einer einfachen funktion eine Variable in das eingelesene XSL document (natürlich nur im Speicher, variable wird nicht in den XSL file auf der Platte geschrieben) und das weiß dann welches Template angezeigt werden soll. Wichtig ist das in PHP 5.0 die xsl Prozessor Extension geladen ist. Ich werde dir morgen mal das was du machen willst mit XSL, XML und PHP basteln wird nicht viel code haben. Ich werde das ganze auch für dich kommentieren dann siehst du vielleicht besser durch. Dieser Beitrag wurde von No Name: 16 Aug 2006, 00:44 bearbeitet
|
|
|
|
|
 16 Aug 2006, 20:49
|
6. Schein       
Punkte: 1338
seit: 18.10.2004
|
du bistn schatz!!! super vielen lieben dank!!! edit: wenn du mal in berlin bist, sag bescheid  // circuit breaker als act rulz!! Dieser Beitrag wurde von bnz: 16 Aug 2006, 20:49 bearbeitet
|
|
|
1 Nutzer liest/lesen dieses Thema (1 Gäste)
0 Mitglieder:
|