我想知道如何显示来自XML的NA INFO,如果标签的值是CANFONTI。
所以,我已经更新了XML页面:http://www.cidadehoje.pt/musics/musics/te.xml
片段:
<onairplaylist radio="RADIO CIDADE HOJE">
<element>
<author>DOISMILEOITO</author>
<title>SÓ FAÇO BEM (2011)</title>
<genre>POP</genre>
<table>CANFONTI</table>
<id>0019826001</id>
</element>
<element>
<author>Anotherguy</author>
<title>Let's play another song</title>
<genre>FOO</genre>
<table>BAR</table>
<id>9999999991</id>
</element>
</onairplaylist>
而这段代码:
<?php
$x = simplexml_load_file('http://www.cidadehoje.pt/musics/musics/te.xml');
echo '<font color="#FFFFFF" face="Raleway-light" size="+3" style="display:inline">';
echo $x->element[0]->author[0];
echo ' - ';
echo $x->element[0]->title[0];
echo '</font>';
?>
我只想显示"作者 - 标题",如果标签"表"的值为"CANFONTI"。
你能帮我这个吗?
提前谢谢大家。
如果你的意思是这样的:
<?php
$x = simplexml_load_file('http://www.cidadehoje.pt/musics/musics/te.xml');
if($x->element[0]->table[0] == "CANFONTI")
{
echo '<font color="#FFFFFF" face="Raleway-light" size="+3" style="display:inline">';
echo $x->element[0]->tag[0];
echo ' - ';
echo $x->element[0]->title[0];
echo '</font>';
}
?>
你应该读一些关于PHP的书。
使用 xpath()
选择所有需要的元素:
$xml = simplexml_load_string($x); // $x containing the XML
$elements = $xml->xpath("//element[table = 'CANFONTI']");
现在输出:
foreach ($elements as $element) echo $element->title . PHP_EOL;
查看它运行:https://eval.in/220617
第 2 行将选择所有带有 <title>' being 'CANFONTI
的<element>
,并将其存储在数组$elements
中。然后循环回响。