如何使用PHP在前端显示与WordPress的远程XML文件?(How to display rem

2019-11-02 08:01发布

我有一个问题,我需要显示在远程服务器上托管的XML文件。 这个文件我想在已经被分配一个CSS文件和PHP来显示它(页面xxxx.php)

我目前使用下面的代码,但是我不很了解我做什么:

<!-- API here we go!!! -->
<?php
$xmlhd = wp_remote_get('http://www.myurl.com/api/channel.php?type=hd');
$xmlparseado = simplexml_load_string($xmlhd['body']);
?>

在代码中指定的URL这样表示的XML文件:

<programations>
    <channel name="KCBS HD">
        <row>
            <date>july, 23</date>
            <time>06:00</time>
            <title><![CDATA[ WKCBS Action News ]]></title>
            <description><![CDATA[ Action News, hosted by: Jenn Doe ]]></description>
            <imagethumb/>
        </row>
        <row>
            <date>July, 23</date>
            <time>06:35</time>
            <title><![CDATA[ KCBS Sports Center ]]></title>
            <description><![CDATA[ The best scoreS from the Sportscenter stadium, hosted by: Fernando Sobalaprieta ]]></description>
            <imagethumb/>
        </row>
    </channel>
</programations>

我想知道的是如何在一个页面的前端显示此:

  • 日期
  • 时间
  • 描述
  • 缩略图(如果存在)

注意:

的XML的内容只是一个例子样品和并不一定代表现实:d

事先,谢谢。

Answer 1:

功能simplexml_load_string(); 创建对象。

如果您尝试的print_r($ xmlparseado),你应该得到这样的:

SimpleXMLElement Object
(
    [channel] => SimpleXMLElement Object
        (
            [@attributes] => Array
                (
                    [name] => KCBS HD
                )

            [row] => Array
                (
                    [0] => SimpleXMLElement Object
                        (
                            [date] => july, 23
                            [time] => 06:00
                            [title] => SimpleXMLElement Object
                                (
                                )

                            [description] => SimpleXMLElement Object
                                (
                                )

                            [imagethumb] => SimpleXMLElement Object
                                (
                                )

                        )

                    [1] => SimpleXMLElement Object
                        (
                            [date] => July, 23
                            [time] => 06:35
                            [title] => SimpleXMLElement Object
                                (
                                )

                            [description] => SimpleXMLElement Object
                                (
                                )

                            [imagethumb] => SimpleXMLElement Object
                                (
                                )

                        )

                )

        )

因此,使用迭代,例如每个,你应该访问的每一行:

$xmlparseado = simplexml_load_string($string);

$content = '';
$rows = $xmlparseado->channel->row;
foreach($rows as $key=>$row){   
    if($key =='row'){
     $row_string = '<ul>';
     $row_string.= '<li>Date: '.$row->date.'</li>';
     $row_string.= '<li>Time: '.$row->time.'</li>';
     $row_string.= '</ul>';
     $content.=$row_string;     
    }   
}
echo $content;

注意:这仅仅是例子,但你可以使用它的模式



文章来源: How to display remote XML file with Wordpress in frontend using php?
标签: php wordpress