Hallo,
ich habe ein Problem beim Darstellen, bzw. Bearbeiten von xml Dateien in php. Die Gesamte xml Datei, bzw. den obersten Eintrag kann ich darstellen lassen in php. Doch wenn es darum geht einzelne Punkte zu filtern, da hapert es. Ich habe Beispiele dabei die Funktionieren, doch mein eigenes, funktioniert leider nicht. Hier mal die Beispielscripts php/xml:
test.xml
Code:
<?xml version="1.0" ?>
- <system>
- <news>
<id>2</id>
<title>News-System die 2.</title>
<author>KoMtuR</author>
<description>Wir lesen mehrere Datensaetze aus einer XML-Datei</description>
<date>1097688200</date>
</news>
- <news>
<id>1</id>
<title>News-System</title>
<author>KoMtuR</author>
<description>Wir bauen uns ein News-System mittels XML</description>
<date>1097688183</date>
</news>
</system>
Der dazugehörige php Code zum Auslesen der id1:
PHP-Code:
<?php
$doc = DOMDocument::load("test.xml");
$xp = new domxpath($doc);
$titles = $xp->query('news[id="1"]');
foreach ($titles as $node) {
foreach($node->childNodes as $cnode) {
if($cnode->nodeType == 1) {
print $cnode->nodeName .": ". $cnode->textContent . "\n";
}
}
}
?>
Nun mein Teil, der leider nicht funktioniert. Er soll nach dem Link 1144915426, sortieren.
inhalt.xml
Code:
<?xml version="1.0" ?>
- <rss version="2.0">
- <channel>
<title>Projekt News</title>
<link>http://.org/</link>
<description>Projekt</description>
<language>de</language>
- <item>
<title>Jetzt</title>
<link>1144915426</link>
<description>10:03</description>
<category>oeffentlich</category>
<pubDate>13. April 2006</pubDate>
</item>
- <item>
<title>Test2005</title>
<link>1144914537</link>
<description>Text0815</description>
<category>privat</category>
<pubDate>13. April 2006</pubDate>
</item>
</channel>
</rss>
Meine News.php:
PHP-Code:
<?php
$doc = DOMDocument::load("inhalt.xml");
$xp = new domxpath($doc);
$titles = $xp->query('item[link="1144915426"]');
foreach ($titles as $node) {
foreach($node->childNodes as $cnode) {
if($cnode->nodeType == 1) {
print $cnode->nodeName .": ". $cnode->textContent . "\n";
}
}
}
?>
Weiss jemand woran das liegt? Ich habe alles durchsucht und versucht anzupassen, doch irgendwie funktioniert das nicht so ganz. Die Ergebnisseite ist leer. Die xml Datei muss so bleiben, da diese mit RSS 2.0 gelesen werden muss.
Danke schon mal für alle Antworten...