我有这个向量格式:
<response status="ok">
<type type="visitors">
<date date="2015-06-27">
<item>
<value>40</value>
</item>
</date>
<date date="2015-06-28">
<item>
<value>41</value>
</item>
</date>
</type>
</response>
我想做的是按日期读取矢量,如下所示:
2015-06-27>40位访客
2015-06-28>41位访客
…
我无法阅读日期,我得到的只是:
数组,数组。。。
您可以使用simplexml_load_file
http://php.net/manual/en/function.simplexml-load-file.php
假设您的XML位于一个名为visitors.XML的文件中,则可以使用以下内容:
<?php
$visitors = simplexml_load_file("visitors.xml");
foreach($visitors->type->date as $date) {
echo ($date['date']) . " > " . $date->item->value . " visitors'n";
}
或者,如果您的XML位于字符串中,则可以使用simplexml_load_string
。
它不是一个XML文件,是来自clicky.com服务器的PHP响应,如下所示:
$data = unserialize( file_get_contents("http://api.clicky.com/api/stats/4?site_id=$site_id&sitekey=$site_key&type=visitors&output=php"));
然后是var_dump($data);
它是一个矢量,格式如我第一篇文章中所示。
我使用了各种解析,这是最后一个:
foreach( $data as $item ) {
echo ("$data[0] .. <br>");
echo ("1) ".$data ." > ".$item["date"]."<br>");
foreach( $item as $date ) {
echo ("$item[0] .. <br>");
echo ("2) ".$item["date"] ." > ".$date["date"]."<br>");
foreach( $date as $value ) {
echo ("$date[0] .. <br>");
echo ("$value[0] .. <br>");
echo ("3) ".$date ." > ".$value."<br>");
}
}
}
尽管如此,日期并没有出现在任何地方,只有数组或什么都没有。。