php - 如何从 XML 文档获取值

标签 php xml api

我有连接到 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/

相关文章:

php - 将 PHP 错误转换为异常

php - Laravel 5 REST API 验证

python - 在 Python 中使用 Elementtree 解析 RSS

objective-c - DropBox 应用内登录

api - 如何从YouTube播放列表中获取视频标题和缩略图

Android Lint 错误 : Class requires API level 3, 当前最小值为 1

php - 使用 REST API 快速上传图片

php - 使用 Paypal REST api 和 PHP cURL 发布发票(草稿)不断返回 415 Unsupported Media Type

python - 用etree追加多个元素,如何将每个元素写在新行上?

c# - 自动从 XML 模式创建 GUI