I have XML file with a item categoryName. I put these into an array - menuArray. But there are duplicates in the array and I need to know how to sort out the duplicates so just one of each of the items remains in the array to build my menu. Any help appreciated.
//load XML data from external url
var navData:XML;
var menuArray:Array = new Array();
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, onComplete, false, 0, true);
loader.addEventListener(IOErrorEvent.IO_ERROR, onIOError, false, 0, true);
var xmlFile:String="pegasus.xml";//for testing purposes
var xmlPath:String=root.loaderInfo.parameters.XMLDataFeed;
//if running localy use xmlFile else use xmlPath
if (xmlPath==null) {
loader.load(new URLRequest(xmlFile));
outText.appendText("xmlPath = "+xmlPath +" : "+ "xmlFile = "+xmlFile + xmlFile.length);
//trace(xmlFile);
} else {
loader.load(new URLRequest(xmlPath));
outText.appendText("xmlPath = "+xmlPath +" : "+ "xmlFile = "+xmlFile + xmlFile.length);
}
function onComplete(evt:Event):void {
try {
navData=new XML(evt.target.data);
//trace(navData);
//place xml data into text component
xmlData.text=navData;
loader.removeEventListener(Event.COMPLETE, onComplete);
loader.removeEventListener(IOErrorEvent.IO_ERROR, onIOError);
createMenu();
} catch (err:Error) {
trace("Could not parse loaded content as XML:
" + err.message);
}
}
function onIOError(evt:IOErrorEvent):void {
trace("An error occurred when attempting to load the XML.
" + evt.text);
outText.appendText(evt.text);
}
function createMenu():void {
//get info
for each (var info:XML in navData..info) {
var infoName:String=info.name.toString();
var infoClient:String=info.client.toString();
var infoCreator:String=info.creator.toString();
//trace(infoName);
//trace(infoClient);
//trace(infoCreator);
//place text in text fields
pname.text=infoName;
client.text=infoClient;
creator.text=infoCreator;
}
//get pages
for each (var page:XML in navData..page) {
var pageType:String=page.type.toString();
var pageName:String=page.pageName.toString();
var pageOrder:String=page.order.toString();
var pageCategory:String=page.categoryName.toString();
var pageContent:String=page.content.toString();
menuArray=[pageCategory];
trace(menuArray);
//appears in output panel
//Introduction
//Introduction
//Making It So
//Making It So
//Our Services
//Our Services
//Our Work
//Our Work
//Our Work
//Our Work
//Our Work
//Our Work
//About Us
//About Us
//About Us
//trace(pageCategory);