如何从一个的DOMNodeList原料(how to get a raw from a DOMNod

2019-09-21 14:25发布

我有一个DomDocument ,这是不可能var_dump (这真的让我很生气),关于这一点我做的:

var_dump($dom->getElementsByTagName('url'));

在这样的回应:

<?xml version="1.0" ?>
<rss version="2.0">
  <channel>
      <url>beaute-mode/cheveux/11460--choisir-un-headband</url>
      <title>get_url_article</title>
      <host>myhost</host>
  </channel>
</rss> 

但我得到了var_dump呼应: object(DOMNodeList)[262]而不是我的原始数据(这是一个URL)。

所以我的问题是很简单,但我怎么得到我的原始数据没有被封装在一个DomNodeList

谢谢。

Answer 1:

DOMNodeList::item()会给出一个DOMNodeDOMNodeList通过索引。 例如,要获得该列表中的第一个节点:

$dom->getElementsByTagName('url')->item(0)

要获得该元素包含了,像这样使用代码的东西的实际数据:

if ($node = $dom->getElementsByTagName('url')->item(0)) {
  $url = $node->nodeValue;
} else {
  // Element does not exist, handle error here
}


Answer 2:

PHP本身-即使有宣布与PHP 5.4的改进-不显示的结构信息,良好DomNodeDomNodeList

你可以做一些事情,我在一个类似的问题已概述调试PHP中的DOMDocument对象 :

$doc = new DOMDocument();
$doc->loadXML($xml);
DomTree::dump($doc->getElementsByTagName('url'));

这将输出如下:

`<url>
  `"beaute-mode/cheveux/11460--choisir-un-headband"

您可以在这个源代码吉斯特矿 。



文章来源: how to get a raw from a DOMNodeList