Return XML from Function

I feel like this should be correct but the trace always returns ‘undefined’


function loadXML(xmlFile:String):XML{ 
    var xmlLoader:URLLoader = new URLLoader();
    var xmlData = new XML(xmlLoader.load(new URLRequest(xmlFile)));
    return xmlData;
}

var xmlData:XML = loadXML("xml/nav.xml"); 
trace(xmlData.link.image.text() [0]);

Here’s the XML

<nav>
    <link id="1">
        <name>home </name>
        <image>images/home.jpg</image>
        <path>http://www.bing.com/</path>
    </link>
    <link id="2">
        <name>outdoor</name>
        <image>images/kitchen.jpg</image>
        <path>http://www.google.com/</path>
    </link>
    <link id="3">
        <name>living</name>
        <image>images/bath.jpg</image>
        <path>http://www.yahoo.com/</path>
    </link>
    <link id="4">
        <name>kitchen</name>
        <image>images/kitchen.jpg</image>
        <path>http://www.dogpile.com/</path>
    </link>
    <link id="5">
        <name>bedroom</name>
        <image>images/bath.jpg</image>
        <path>http://www.google.com/</path>
    </link>
    <link id="6">
        <name>workspace</name>
        <image>images/home.jpg</image>
        <path>http://www.yahoo.com/</path>
    </link>
        <link id="7">
        <name>bath</name>
        <image>images/bath.jpg</image>
        <path>http://www.bing.com/</path>
    </link>
</nav>

What am I doing wrong?