0

我正在使用 SimpleXML 从 XML 文件中提取内容。

我想知道是否可以根据节点的内容显示某个节点,例如

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

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

SimpleXML 能否找到特定的标题,然后显示该标题的文章?

显示标题为“PHP”的文章。

我真的希望这是可能的。

感谢任何回复的人。

4

3 回答 3

6

您可以使用 XPath 表达式,例如//article[title='PHP']/content

于 2009-06-21T01:10:36.900 回答
3

请参阅PHP DevCenter,这是一个示例:

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

此外,如果您知道文章节点的确切位置,最好避免//在 XML 的所有级别中搜索的符号。

于 2009-06-21T06:14:29.017 回答
3
$article_list = new SimpleXMLElement($article_xml);
foreach($article_list->article as $i => $article) {
    if('PHP' == $article->title) {
        //code to display article.
    }
}

这是假设文章标签位于父元素中。

于 2009-06-21T00:57:54.990 回答