为什么这个xml解析仅产生一个元素?

用户135596

我在解析此xml时遇到问题。我想访问项目数组。我试过$ xml-> channel-> item和$ xml-> channel [“ item”],但都没有用。

这是我拥有的php代码:

$xml=simplexml_load_file("my file.xml");
$channel = $xml->channel;
$items = $channel->item;
var_dump($channel);
var_dump($items); //This is only showing one item, when there are many

这是输出的开始 var_dump($channel)

object(SimpleXMLElement)#4 (7) {
  ["title"]=>
  string(11) "Title"
  ["link"]=>
  string(30) "mylink/"
  ["description"]=>
  string(128) "description"
  ["pubDate"]=>
  string(31) "Fri, 27 Jun 2014 04:24:24 -0700"
  ["generator"]=>
  string(57) "http://Tumblr2WordPress/0.4(tumblr2wordpress.benapps.net)"
  ["language"]=>
  string(2) "en"
  ["item"]=>
  array(374) {
    [0]=>
    object(SimpleXMLElement)#69 (7) {
      ["link"]=>
      string(46) "link"
      ["pubDate"]=>
      string(31) "Thu, 26 Jun 2014 15:19:41 +0000"
      ["category"]=>
      array(2) {
        [0]=>
        object(SimpleXMLElement)#443 (0) {
        }
        [1]=>
        object(SimpleXMLElement)#444 (1) {
          ["@attributes"]=>
          array(2) {
            ["domain"]=>
            string(8) "category"
            ["nicename"]=>
            string(7) "regular"
          }
        }
      }
      ["guid"]=>
      string(46) "link"
      ["comment"]=>
      object(SimpleXMLElement)#445 (0) {
      }
      ["title"]=>
      string(18) "Ran 8 miles today!"
      ["description"]=>
      object(SimpleXMLElement)#446 (0) {
      }
    }
    [1]=> more here
萨拉索兹特拉

如果项目是项目的分组,请记住,您仍在处理SimpleXML对象。使用foreach循环可轻松遍历每个项目并提取其属性。

foreach($channel->item as $singleItem) {
    //item properties are accessible for each
}

您还有另一个选择是使用simpleXML的xpath函数返回与您的xpath匹配的对象数组。如果您愿意的话,我可以分享一个例子。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么这个数组的最后一个元素被拼接而不是中间的一个?

为什么这个可迭代的实现会产生一个stackoverflow?

为什么这个代码产生一个非常嘈杂的正弦波?

Scrapy仅产生最后一个元素

为什么这个java迭代器循环也打印第一个元素?

为什么这个 list<int[]> 不保留第一个元素?

Android XML解析错误:仅允许一个根元素

为什么我的元素仅附加到一个类上?

Haskell:为什么(x:xs)仅将一个元素与列表匹配?

为什么bash仅将第一个元素附加到数组

为什么QListWidget中的图标仅显示在第一个元素上?

为什么此代码仅显示数组中的最后一个元素?

为什么我的脚本仅访问数组中的第一个元素?

为什么运球会产生一个空文件?

为什么这个代表不触发是一个谜

为什么这个答案中有一个 en?

为什么这个 for 循环返回一个空列表?

为什么这个函数返回一个空数组?

为什么这个 if 语句给我一个 ValueError?

美丽的汤:仅解析一个元素

为什么所有的数组都删除了这个集合中的一个元素而不是被引用的那个?

Swift-为什么我的JSON对象元素仅添加最后一个数组元素?

当鼠标光标仅显示在一个元素上时,为什么要利用所有元素?

当我仅尝试更改一个列表元素时,为什么我的代码会更改多个列表元素?

XML仅允许一个根元素

为什么这个 Python 模块从同一个模块导入一个类?

使用 minidom 在 xml 文件中解析一个元素

为什么仅更改哈希中的一个值?

为什么“ pstack”仅打印一个线程的内容?