Mümkün Koşullu SimpleXML?

3 Cevap php

Ben SimpleXML ile bir XML dosyası içeriği çekiyorum.

Bu düğüm, örneğin içeriğine bağlı olarak belli bir düğümü görüntülemek mümkün olup olmadığını merak ediyorum

<article>
    <title>PHP</title>
    <content>yada yada yada</content>
</article>

<article>
    <title>JAVASCRIPT</title>
    <content>yodo yodo yodo</content>
</article>

SimpleXML belirli bir başlığı bulmak ve sonra bu başlık için yazı görüntüleyebilir miyim?

Unvanı 'PHP' olduğunu Display makale.

Gerçekten bu mümkün umuyoruz.

Cevap herkese teşekkürler.

3 Cevap

Sen //article[title='PHP']/content gibi bir XPath ifadesi kullanabilirsiniz

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

Bu makale etiketleri ana öğe vardır üstleniyor.

PHP DevCenter, burada bir örnek bakın:

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

Eğer makale düğümlerin tam yerini biliyorsanız Ayrıca XML tüm düzeylerinde arar // gösterimi önlemek için daha iyidir.