Parse content returned from curlExec using DOM and SimpleXML.
A SimpleXMLElement or FALSE on failure.
protected function parse() {
if (!$this->elements) {
// DOM can load HTML soup. But, HTML soup can throw warnings, suppress
// them.
$htmlDom = new DOMDocument();
@$htmlDom
->loadHTML($this
->drupalGetContent());
if ($htmlDom) {
$this
->pass(t('Valid HTML found on "@path"', array(
'@path' => $this
->getUrl(),
)), t('Browser'));
// It's much easier to work with simplexml than DOM, luckily enough
// we can just simply import our DOM tree.
$this->elements = simplexml_import_dom($htmlDom);
}
}
if (!$this->elements) {
$this
->fail(t('Parsed page successfully.'), t('Browser'));
}
return $this->elements;
}