这是我的代码到目前为止...不用说,它不起作用:(
$feed = <<< THEXML
<programs>
<program>
<date>2009-04-16</date>
<start_time>17:00</start_time>
<leadtext>hello hello!
</leadtext>
<name>Program 1</name>
<b-line>Comedy</b-line>
<synopsis>Funny stuff
</synopsis>
<url>http://www.domain.tld/program_name</url>
</program>
<programs>
THEXML;
$xml = (array) simplexml_load_string($feed);
print_r($xml);exit;
非常感谢任何帮助,现在已经在php.net网站上工作了好几个小时并且感觉脑力不足。
请注意,在上面的示例xml中只有一个
<program>...</program>
标签,但实际上我需要使用其中的一个或多个。 例如
<programs>
<program>...</program>
<program>...</program>
<program>...</program>
</programs>
我想我是否可以上班,然后我可以循环播放,但我想我会解释一下我的目的。
提前致谢!
答案 0 :(得分:2)
假设提供程序为您提供了有效的XML,那么您只需要遍历程序并使用它所需的任何信息,如下所示:
<?php
foreach ( $xml as $node ) {
echo $node->synopsis;
//or whatever property you want to access on the SimpleXMLElement Object
}
由于您没有正确的XML(作为未公开的<programs>
标记,因此您可能希望修改脚本以纠正该错误,如下所示:
$feed = preg_replace('/<programs>$/', '</programs>', trim($feed));
答案 1 :(得分:2)
您错过了结束结束标记。
$feed = <<< THEXML
<programs>
<program>
<date>2009-04-16</date>
<start_time>17:00</start_time>
<leadtext>hello hello!
</leadtext>
<name>Program 1</name>
<b-line>Comedy</b-line>
<synopsis>Funny stuff
</synopsis>
<url>http://www.domain.tld/program_name</url>
</program>
</programs> // <========= here
THEXML;