php - 获取 XML DOM 中的段落 (PHP)

标签 php xml dom rss

我正在尝试从oomkat.com RSS feed 创建新版本的数据库。饲料位于此处: link

现在,我在选择段落标签内的内容时遇到问题。

RSS 提要中的一个段落如下所示:

<p>GOAT<br/><a href="http://boomkat.com/downloads/601228-goat-world-music">World Music</a><br/>ROCKET RECORDINGS<br/>INDIE / ROCK / ALTERNATIVE<br/>MP3 Release</p>

到目前为止我所做的是:

<?php

$dom = new DOMDocument;
$dom->validateOnParse = true;
$dom->load("http://feeds.boomkat.com/boomkat_downloads_just_arrived");
$content = $dom->getElementsByTagName('content');
foreach ($content as $result) {
    echo $result->nodeValue, PHP_EOL;
}
?>

但这给了我完整的饲料。在 getElementsByTagName 中写入“p”不起作用。

最佳答案

我建议使用 DOMDocument::loadHTMLFile() 方法而不是 DOMDocument::load() (因为 load() 严格用于读取 XML,而不是 HTML)。

您获取整个文档的原因是因为您正在查询整个文档中名为“内容”的元素。不存在这样的 HTML 元素。相反,你应该使用

$dom->getElementsByTagName('p');

这将获取 HTML 文档中的所有标签,然后您可以对其进行循环。使用“p”查询标签不起作用的主要原因是您需要将文档加载为严格的 HTML,而不是使用默认的 XML。

关于php - 获取 XML DOM 中的段落 (PHP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13291250/

相关文章:

c# - 如何在 XSD 中为 byte[] 类型建模?

javascript - 加载DOM元素图像div而不下载资源

html - Web-Inspector:如何在层次结构中找到设置背景颜色的 DOM 元素?

javascript - 如何使用javascript添加li元素

php - 如何使用 SQL 查找表中的行数?

javascript - 如何在 php 中传递来自 JavaScript 的值?

java - Webview + 底部的 admob + LinearLayout

android - 在 android 布局文件中注释

php - 使用 MySQL 和 PHP 注册 Activity

php - parse_str()突然不起作用