我使用SimpleXML从XML文件中提取内容。
我想知道是否可以根据节点的内容显示某个节点,例如
<article>
<title>PHP</title>
<content>yada yada yada</content>
</article>
<article>
<title>JAVASCRIPT</title>
<content>yodo yodo yodo</content>
</article>
SimpleXML可以找到特定的标题,然后显示该标题的文章吗?
显示标题为“PHP”的文章。
我真的希望这是可能的。
感谢任何回复的人。
答案 0 :(得分:6)
您可以使用类似//article[title='PHP']/content
答案 1 :(得分:3)
$article_list = new SimpleXMLElement($article_xml);
foreach($article_list->article as $i => $article) {
if('PHP' == $article->title) {
//code to display article.
}
}
这是假设文章标签位于父元素中。
答案 2 :(得分:3)
请参阅PHP DevCenter,这是一个示例:
$article_list = new SimpleXMLElement($article_xml);
foreach ($article_list->xpath("//article[title='PHP']/content") as $content) {
print "$content\n";
}
此外,如果您知道文章节点的确切位置,最好避免使用//
符号来搜索XML的所有级别。