在PHP中加载和读取此XML中的元素

问题描述:

http://pastebin.com/hXuHpcUQ

Is what I have..

How can I load and read the data?

so for each node, I could do something like:

foreach($nodes as $node)
{
    echo $node->getElementsByTagName("url") . "<br />";
}

But how should $nodes be defined to grab alle the <node type="link">'s?

This is what I have started out and currently got:

    $doc = new DOMDocument();
    try
    {
        $doc = new DOMDocument();
        $doc->loadXml(file_get_contents('new.xml'));
    }catch(Exception $e)
    {
        continue;
    }

I would like to output the value in <url> inside each <node></node> element

I would use SimpleXML - should be something like.

$xml = simplexml_load_file('new.xml');
foreach ($xml->node as $node) {
  echo $node->url;
}

(untested..)

You should read about DOMXPath

Your query will look like (not tested):

$nodes = $xpath_obj->query("//node[type='link']/url");