2009-06-21 2 views
0

Ich ziehe Inhalte aus einer XML-Datei mit SimpleXML.Bedingtes SimpleXML möglich?

Ich frage mich, ob es möglich ist, einen bestimmten Knoten abhängig vom Inhalt des Knotens anzuzeigen, z.

Kann SimpleXML einen bestimmten Titel finden und dann den Artikel für diesen Titel anzeigen?

Artikel anzeigen, deren Titel 'PHP' lautet.

Ich hoffe wirklich, das ist möglich.

Danke an jeden, der antwortet.

Antwort

3
$article_list = new SimpleXMLElement($article_xml); 
foreach($article_list->article as $i => $article) { 
    if('PHP' == $article->title) { 
     //code to display article. 
    } 
} 

Angenommen, die Artikel-Tags befinden sich in einem übergeordneten Element.

6

Sie einen XPath-Ausdruck wie //article[title='PHP']/content

3

PHP DevCenter Siehe verwenden könnte, ist hier ein Beispiel:

$article_list = new SimpleXMLElement($article_xml); 
foreach ($article_list->xpath("//article[title='PHP']/content") as $content) { 
    print "$content\n"; 
} 

Auch wenn Sie wissen, die genaue Lage der Artikel Knoten es besser ist, die // Notation zu vermeiden welches in allen Ebenen des XML sucht.