如何修改以下代码来获取一个xml的url,一个包含多个url的数组?下面的代码工作正常,但正如我所说的一个文件。
<?php
$dom = new DOMDocument;
$dom->loadHTMLFile ('domain.com/xmlfile.xml');
$xPath = new DOMXPath($dom);
$posts = $xPath->query('//page');
foreach($posts as $post) {
$fans = $post->getElementsByTagName( "fan_count" )->item(0)->nodeValue;
echo $fans;
}
?>
答案 0 :(得分:1)
您必须使用foreach
循环。
<?php
$files = array('file1.xml', 'file2.xml', 'file3.xml');
foreach ( $files as $file ) {
$dom = new DOMDocument;
$dom->loadHTMLFile($file);
$xPath = new DOMXPath($dom);
$posts = $xPath->query('//page');
foreach($posts as $post) {
$fans = $post->getElementsByTagName('fan_count')->item(0)->nodeValue;
echo $fans;
}
}
?>
答案 1 :(得分:0)
您需要遍历每个文件并依次从每个文件中提取网址。 DOMDocument对象只能处理一个XML树。多个XML文件意味着多个文档根,这是不允许的。
我想您可以创建一个“元”XML文档,并将每个单独的文件作为节点插入元XML的根节点。无论哪种方式,都有点痛苦。
答案 2 :(得分:0)
$arr = array(0 => "url1", 1 => "url1");
for($i=0;$i<2;$i++)
{
$dom = new DOMDocument;
$dom->loadHTMLFile ($arr[$i]);
$xPath = new DOMXPath($dom);
$posts = $xPath->query('//page');
foreach($posts as $post) {
$fans = $post->getElementsByTagName( "fan_count" )->item(0)->nodeValue;
echo $fans;
}
}