Philipp Hasenfratz: XML Parse problem

Beitrag lesen

Halihallo philippo

ich habe vor einigen Tage angefangen mit XML. Nun möchte ich die folgende Datei in PHP auslesen lassen.

http://www.php.net/domxml (EXPERIMENTAL!)
http://www.php.net/xml

Nun möchte ich, abhängig von der ID die storry dazu anzeigen. Sprich wennd er Uesr 2 Eingibt soll, Hallo2 erscheinen und so weiter. Da ich noch realtiv neu auf dem Gebiet bin, hoffe ich, dass es nciht allzu schwierig ist ;-)

Depends. Lies die vorher verlinkten Ressourcen und mach dich mit dem
Interface/Schnittstelle zu XML-Dokumenten vertraut.

Dann würde ich dir empfehlen das XML-Dokument wie folgt zu ändern:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<news>
 <story id="1">Hallo1</story>
 <story id="2">Hallo2</story>
</news>

Jetzt liesse sich die Story zu einer ID über XML-DOM sehr, sehr
einfach auslesen:

---pseudo-code--
my $story = $doc->get_element_by_id( $id )->child_nodes()->item(0)->node_value();
---

Dein XML-Dokument liesse sich natürlich auch über XML-DOM oder einer
selbstgeschriebenen Expat-Parser-Extension auslesen, nur wird es
da etwas komplexer, da die Struktur bezüglich der Anfrage nicht
"optimiert" ist. Du müsstest in deinem Beispiel durch alle story
Elemente durchgehen (get_elements_by_tag_name('story')) und bei jedem
überprüfen, ob ein ChildNode namens "id" existiert, falls ja ob
dessen ChildNode (Text) mit der $id übereinstimmt und dann den
next_sibling() vom <id>-Tag ausliest (das wäre dann <storry>,
falls das Dokument _immer in dieser Form vorliegt und die
Elementreihenfolge etc. nicht geändert wird_) und von diesem den
unterliegenden TextNode (was dann eben der Text zu der Storry ist,
in deinem Fall "Hallo1" oder "Hallo2", je nach $id).

Viele Grüsse

Philipp

--
The only program that runs perfectly every time, is a virus.