Поскольку libxml изменит HTML-код, чтобы закрыть элемент a перед таблицей, вместо этого необходимо запросить таблицу follow-sibling , например,
$dom = new DOMDocument;
$dom->loadHtml($html);
$xpath = new DOMXpath($dom);
$el = $xpath->query("//a[@class='product']/following-sibling::table");
echo $dom->saveHtml($el->item(0));
или переход от элемента
$dom = new DOMDocument;
$dom->loadHtml($html);
$xpath = new DOMXpath($dom);
$table = $xpath->query("//a[@class='product']")->item(0)->nextSibling;
echo $dom->saveHtml($table);
Обратите внимание, что для передачи аргумента в saveHTML требуется как минимум PHP 5.3.6