繁体   English   中英

DOMElement空的nodeValue

[英]DOMElement empty nodeValue

我有一个项目,我需要解析一个xml页面并挑选一些数据。 domDocument类似乎很完美,我尝试了一些基本测试以查看它是否可以满足我的要求。

这是我目前的代码:

$dom = new domDocument;
$html = file_get_contents('http://wadmag.com/feed.xml');
$previous_value = libxml_use_internal_errors(TRUE);
$dom->loadHTML("$html");
libxml_clear_errors(); //This here is to clear the errors caused by the page not
libxml_use_internal_errors($previous_value); // being proper html

$links = $dom->getElementsByTagName('item');
echo "Found : ".$links->length. " items";   

foreach ($links as $link) {
    echo $link->nodeValue."<br>";
}

现在的问题是,当我加载页面时,收到消息“找到:21个项目”,这意味着getElementsByTagName返回了一个列表,但是当我尝试显示列表的内容时,什么都没有显示,就像nodeValue是空的。

甚至更奇怪的是,如果我用标题或描述替换getElementsByTagName中的“ link”,它将按原样显示所有内容。 似乎无法理解为什么,我能看到的唯一区别是,它可能是正确的html,而事实并非如此。

如果解析XML,请使用$dom->loadXML($response) $dom->loadHtml($response)代替$dom->loadHtml($response)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM