If you want to scrape or mash-up elements from an external website then take a look at the following code.
As you can see it fetches the document (web pages) and then iterates around via DOM and SimpleXML.
$html = @DOMDocument::loadHTMLFile($url); // fetch the remote HTML file and parse it (@ suppresses warnings).
$xml = simplexml_import_dom($html); // convert the DOM object to a SimpleXML object.
foreach ($xml->xpath('//a') as $node){ // run an XPath query and iterate through the array of results
print (string) $node . "\n"; // casting to string produces the text contents of the node.
print $node['href'] . "\n"; // attributes of the node are accessible as array attributes.
print $node->asXML() . "\n\n"; // asXML() produces the whole XML string.
}
Note: if namespaces are involved, use
$xml->registerXPathNamespace('NAMESPACE_PREFIX', 'NAMESPACE_URI');
and
$xml->xpath('//NAMESPACE_PREFIX:ELEMENT')
replacing the text in capitals as appropriate.

