【问题标题】:simplexml and accessing feedburner's : [duplicate]simplexml 和访问 feedburner 的:[重复]
【发布时间】:2010-08-21 12:39:17
【问题描述】:

我正在尝试使用 simplexml 来读取 feedburner xml。我可以读取 xml 中的每个属性,但不能读取带有 ':' 的键。示例“feedburner:origLink”。当我转储项目时,那些带有 : 的键不会出现。而且我不能像 $s->item->feedburner:origLink.

【问题讨论】:

标签: php simplexml xml-namespaces


【解决方案1】:

您正在处理命名空间,this Sitepoint article 看起来像是一个很好的长解释。或者更简洁的版本,请查看here in the PHP SimpleXML docs

来自文档:

<?php
$xml = '<example xmlns:foo="my.foo.urn">
  <foo:a>Apple</foo:a>
  <foo:b>Banana</foo:b>
  <c>Cherry</c>
</example>';

$sxe = new SimpleXMLElement($xml);

$kids = $sxe->children('foo');
var_dump(count($kids));

$kids = $sxe->children('foo', TRUE);
var_dump(count($kids));

$kids = $sxe->children('my.foo.urn');
var_dump(count($kids));

$kids = $sxe->children('my.foo.urn', TRUE);
var_dump(count($kids));

$kids = $sxe->children();
var_dump(count($kids));
?>

输出:

int(0)
int(2)
int(2)
int(0)
int(1)

【讨论】:

    【解决方案2】:

    如果你懒惰并且不介意使用谷歌网络服务,这里有一个简单的方法可以将 feedburner(或其他)feed 的全部内容导入 php:

    http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=100&q=http://feeds.feedburner.com/variety/headlines

    然后您可以将其 json_decode 它全部保存在您的对象/数组中。

    【讨论】:

    • 同意,这确实是获取 feedburner 全部内容的简单方法。为自定义显示打开广泛的灵活性。
    猜你喜欢
    • 2023-03-25
    • 1970-01-01
    • 2011-03-25
    • 2013-12-23
    • 1970-01-01
    • 2012-11-30
    • 1970-01-01
    相关资源
    最近更新 更多