XPath,如果节点为空则返回默认值

时间:2015-05-29 09:40:52

标签: php xpath

我有一个非常简单的抓取PHP脚本,它使用XPath将数据抓取到HTML表格中,然后我可以将其放入excel文件中。

<?php
error_reporting(0);

$arr = array("http://website1.com",
             "http://website2.com",
  );

echo "<table border='1'>";
foreach ($arr as &$value) {

$file = $DOCUMENT_ROOT. $value;
$doc = new DOMDocument();
$doc->loadHTMLFile($file);
$xpath = new DOMXpath($doc);

$elements = $xpath->query("//dd/span");

if (!is_null($elements)) {
    echo "<tr>";
  foreach ($elements as $element) {

    $nodes = $element->childNodes;
    foreach ($nodes as $node) {
      echo "<td>".$node->nodeValue. "</td>\n";
    }

  }
  echo "</tr>";
}

}
echo "</table>";
?>

现在,我正在抓取的一些页面具有空的跨度值,这导致我的HTML表格失去其结构,因为脚本没有为空元素创建一个空表格单元格。

有没有一种方法可以添加在元素为空时打印默认值(如“N / A”)的功能?

由于

0 个答案:

没有答案