Php Can';t提取rss源项目标题

Php Can';t提取rss源项目标题,php,rss,ebay-api,Php,Rss,Ebay Api,我正在使用php代码提取易趣联盟(合作伙伴网络)rss的标题,但没有成功。我做错了什么? 顺便问一下,是否也可以链接标题 PHP loadHTMLFile('http://rest.ebay.com/epn/v1/find/item.rss?keyword=%28jewelry%2Ccraft%2Cclothing%2Cshoes%2Cdiy%29&sortOrder=BestMatch&programid=1&campaignid=5337945426&toolid=10039&listing

我正在使用php代码提取易趣联盟(合作伙伴网络)rss的标题,但没有成功。我做错了什么? 顺便问一下,是否也可以链接标题

PHP

loadHTMLFile('http://rest.ebay.com/epn/v1/find/item.rss?keyword=%28jewelry%2Ccraft%2Cclothing%2Cshoes%2Cdiy%29&sortOrder=BestMatch&programid=1&campaignid=5337945426&toolid=10039&listingType1=All&lgeo=1&topRatedSeller=true&hideDuplicateItems=true&entriesPerPage=2&feedType=rss');   
$products=array();
//循环遍历dom中的每个标记并提取内部html
foreach($xml->getElementsByTagName('td')作为$p){
$children=$p->childNodes;
$phtml='';
foreach($childrenas$child)
{
$phtml.=$p->ownerDocument->saveHTML($child);
}       
回显“.$phtml.”;
}
?>

将发表评论,但没有足够的代表

该提要中没有td元素。它也不是一个HTML文件

相反:

  • 加载为XML
  • 创建XPath表达式以选择标题节点
  • 迭代返回的节点并确保它们是实际的DOM节点
  • 提取节点的文本值
我是这样做的:

$doc = new DOMDocument();
$doc->loadXML("http://www.longurl.com");

$xpath = new DOMXPath($doc);
$items = $xpath->query("/rss/channel/item/title");

foreach($items as $item) {
    if(XML_ELEMENT_NODE === $item->nodeType) {
        echo '<div id="mainproductafilioright1"><div class="product">' . $item->textContent . '</div></div>';
    }
}
$doc=newDOMDocument();
$doc->loadXML(“http://www.longurl.com");
$xpath=新的DOMXPath($doc);
$items=$xpath->query(“/rss/channel/item/title”);
foreach($items作为$item){
if(XML\u元素\u节点===$item->nodeType){
回显“.$item->textContent.”;
}
}

你走对了路。在检查提要页面时,我可以看到
td
元素在
中。但是标题在它之外,这就是为什么你不能得到标题

尝试此临时解决方案(这是一个全新的代码,不能与旧代码一起插入):

您可以使用
打印
将其输出:


print=$description

Uhhhh
getElementsByTagName('td')
看到您的RSS源没有
td
标记。。。你只是复制了一些代码,根本没有编辑它来做你想让它做的事情。这是因为这是我以前为另一个rss配置的旧代码。
$doc = new DOMDocument();
$doc->loadXML("http://www.longurl.com");

$xpath = new DOMXPath($doc);
$items = $xpath->query("/rss/channel/item/title");

foreach($items as $item) {
    if(XML_ELEMENT_NODE === $item->nodeType) {
        echo '<div id="mainproductafilioright1"><div class="product">' . $item->textContent . '</div></div>';
    }
}
$feedurl = "http://rest.ebay.com/epn/v1/find/item.rss?keyword=%28jewelry%2Ccraft%2Cclothing%2Cshoes%2Cdiy%29&sortOrder=BestMatch&programid=1&campaignid=5337945426&toolid=10039&listingType1=All&lgeo=1&topRatedSeller=true&hideDuplicateItems=true&entriesPerPage=8&feedType=rss";

$rss = simplexml_load_file($feedurl);

foreach ($rss->channel->item as $item) {

$link = $item->link;

$title = $item->title;

$description = $item->description;

}