【发布时间】:2011-05-23 04:50:16
【问题描述】:
我正在通过一个示例测试 RSS 提要阅读器。 它使用:
$xmlDoc = new DOMDocument();
$xmlDoc->load($url);
$items = $xmlDoc->getElementsByTagName('item');
for ($i=0; $i < $items->length; $i++) {
$item_title = $items->item($i)->getElementsByTagName('title')->item(0)->childNodes->item(0)->nodeValue;
$item_link = $items->item($i)->getElementsByTagName('link')->item(0)->childNodes->item(0)->nodeValue;
$item_desc = $items->item($i)->getElementsByTagName('description')->item(0)->childNodes->item(0)->nodeValue;
}
当我检查 XML 时,它有另一个标签,例如:
- 日期
- 图片链接
我如何称呼这些所有其他标签?因为我不能打电话给自己。
例如,对于“日期”,我不能使用getElementsByTagName('date')。
它显示错误:Fatal error: Call to a member function item() on a non-object
- 那么,标签有固定的名称吗?
- 如果有,这些是什么?
- (或)我如何知道/解析/检测/提取 XML 中的所有可用标签?
【问题讨论】:
-
你的问题不太清楚。为什么不对其他标签使用相同的方法?
-
是的,因为我不知道如何调用其他标签。例如,对于“日期”,这个
getElementsByTagName('date')或getElementsByTagName('lastUpdated')不起作用。它显示:Fatal error: Call to a member function item() on a non-object。我完全不知道这个 RSS/XML 主题。 -
我认为你最好使用simplexml 如果你的项目不太远,这可能是一个更好的选择