基本上我正在尝试从多个xPath查询中提取数据,并将从每个文件中提取的数据提交到CSV中的一行。我遇到的问题是循环访问特定的xPath查询并将其结果连接到一行。
我有以下代码:
$category_titles = $xpath->query('//*[@id="shopMain"]/div/div/h1');
$category_introduction = $xpath->query('//*[@id="shopMain"]/div/div/p');
if($category_title){
foreach($category_title){
foreach($category_introduction as $node){
$test .= $node->nodeValue;
var_dump($test);
continue();
}
$test = '':
}
}
我正在尝试为每个$category_introduction
循环$category_title
查询并连接每个<p>
元素。然后我尝试在连接所有<p>
标记时跳出循环,并仅在$test
清除后重复该过程。任何人都可以建议我如何在嵌套的foreach循环中执行此操作?我从来没有写过嵌套循环,而且还在苦苦挣扎。
答案 0 :(得分:0)
我认为问题在于if条件和foreach循环,因为在if条件和foreach循环中你声明了错误的变量
试试这个
if($category_titles)
和
foreach($category_titles)
而不是
if($category_title)
和
foreach($category_title)
答案 1 :(得分:0)
除了Umesh Chauhans的回答。
我发现您的代码有几个问题:
一般情况下,您可能需要查询$ xpath-&gt;查询(&#39; // * [@ id =&#34; shopMain&#34;] / div / div&#39;);然后做子查询。