我有连接到 API 的 php 代码:
require(dirname(__FILE__) . '/MadMimi.class.php');
$mailer = new MadMimi('XXX.org', '000');
$lists = $mailer->Lists();
var_dump($lists);
foreach ($lists as $list) {
echo $list['name']; }
<强> var_dump
显示 XML 文档,格式如下:
`string '<?xml version="1.0" encoding="UTF-8"?>
<lists>
<list id="8" name="#1" subscriber_count="210" display_name="Display name"/>
<list id="9" name="#2" subscriber_count="2242" display_name="Display name"/>`
...(长度=2726)
但它只显示前几行。如何让它显示所有值?
此外,我尝试使用 foreach 循环打印特定值,但它不起作用,并且收到错误:Invalid argument supplied for foreach()
如果 foreach 不起作用,我还能如何从 XML 文档获取值?
如果我这样做
$xml=simplexml_load_string($lists) or die("Error: Cannot create object");
print_r($xml);
我得到:
SimpleXMLElement Object ( [list] => Array ( [0] => SimpleXMLElement Object ( [@attributes] => Array ( [id] => 8 [name] => #1 [subscriber_count] => 210 [display_name] => Display name ) ) [1] => SimpleXMLElement Object ( [@attributes] => Array ( [id] => 9 [name] => #2 [subscriber_count] => 2242 [display_name] => Display name ) )
如何为此编写 foreach 循环?
最佳答案
这会对你有帮助。
$lists = '<?xml version="1.0" encoding="UTF-8"?>
<lists>
<list id="8" name="#1" subscriber_count="210" display_name="Display name"/>
<list id="9" name="#2" subscriber_count="2242" display_name="Display name"/>
</lists>';
$xml = simplexml_load_string($lists) or die("Error: Cannot create object");
foreach ($xml->children() as $child) {
// List all the tags
echo '<pre>';print_r($child);echo '</pre>';
foreach($child->attributes() as $a => $b) {
// list all the attributes
echo $a,'="',$b,"\"\n";
}
}
关于php - 如何从 XML 文档获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29963816/