1 回答
TA贡献1827条经验 获得超4个赞
您可以使用 XPath 进入文档:
$xml = simplexml_load_string($content);
$xml->registerXPathNamespace('s', 'http://www.sitemaps.org/schemas/sitemap/0.9'); // xpath need to have an 'alias' to query the anonymous namespace
$urls = $xml->xpath('//s:url'); // retrieve all url items
foreach($urls as $url) // loop over each url item
{
$url->registerXPathNamespace('s', 'http://www.sitemaps.org/schemas/sitemap/0.9');
// string conversion gives you only the content of the node
$title = (string) $url->xpath('news:news/news:title')[0];
$loc = (string) $url->xpath('s:loc')[0];
$lastmod = (string) $url->xpath('s:lastmod')[0];
$pubDate = (string) $url->xpath('news:news/news:publication_date')[0] ;
echo $title . PHP_EOL;
echo $loc . PHP_EOL ;
echo $lastmod . PHP_EOL ;
echo $pubDate . PHP_EOL;
}
//意味着您查看文档中任何位置的所有具有该名称的节点,single/意味着您查看该节点的直接子节点。您可以阅读 XPath 的文档来了解更多命令。
XPath 返回节点的集合,因此我总是查询第一个元素[0](假设文档中只有一个这样的元素)
- 1 回答
- 0 关注
- 105 浏览
添加回答
举报