下面是我的代码我想循环遍历XML文件列表并输出内部所有XML文件的节点。 我的以下XML列表位于xml_joblist.php的文件中: http://80.08.00.150/internal/xxx/xxxx/xml_joblist.php和此url链接内部是下面列出的xml文件:
http://80.08.00.150/internal/xxx/xxx/55_27_12116.xml http://80.08.00.150/internal/xxx/xxx/55_40_12134.xml http://80.08.00.150/internal/xxx/xxx/85_41_12134.xml http://80.08.00.150/internal/xxx/xxx/75_43_12134.xml http://80.08.00.150/internal/xxx/xxx/58_45_12134.xml
所有这些节点都是相同的节点,但具有不同的日期。
<PositionRecordInfo>
<PositionProfile xml:lang="de-DE">Test</PositionProfile></PositionRecordInfo>
<PositionPostings>1</PositionPostings>
所以我的问题是如何加载所有XML文件列表并从中输出日期我尝试过以下内容:
public static function parse($content, $pageID) {
$jobs = array();
$objects = simplexml_load_string($content, "SimpleXMLElement", LIBXML_PARSEHUGE);
$ object中的//是第一个xml_joblist.php对象
if (!isset($objects->Link)) CrawlerHelper::emptyNodeException();
// $ objects-&gt;链接包含所有链接列表 //这里我加载第一个链接的内容,但我想加载一个链接的所有内容;
$url = (string)$objects->Link[0];
//$urls=(string)$objects->Link;
$content = (simplexml_load_file($url));
//$content = (simplexml_load_file($urls));
echo json_encode($content) ."\n";
//我想像这样加载xml文件的所有内容。
foreach ($content as $job) {
$jobs=$job->PositionRecordInfo;
echo $jobs->PositionProfile."\n";
}
}
==&GT;我在这里得到一个错误=&gt;无法加载XML-S的enitre列表
答案 0 :(得分:0)
这是解决方案:
public static function parse($content, $pageID) {
$jobs = array();
$objects = simplexml_load_string($content, "SimpleXMLElement", LIBXML_PARSEHUGE);
foreach($object->$job as $links)
{
$link=all the links;
//load all the links in a simplexml_load_file
$job=simplexml_load_file($links);
//and than put them on array:
$newjobs=array(JobFiels::url=>$job=>url,and so onee);
$jobs[]=newjobs;
}
//Test
echo json_encode($jobs);
return $jobs;
}