package app.demo.MyTouchApp{
import flash.display.Sprite;
import flash.events.TouchEvent;
import flash.display.Loader;
import flash.net.URLRequest;
import flash.net.URLLoader;
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.geom.*;
import app.core.action.RotatableScalable;
import flash.text.Font;
public class test extends RotatableScalable {
private var MapSprite:Sprite;
private var MapLoader:Loader;
private var MapRequest:URLRequest;
private var MapBtnArray:Array = [];
private var i:int = 0;
private var j:Number;
private var BackSprite:Sprite;
private var RoomInfoxmlLoader:URLLoader;
private var roomURL:URLRequest;
private var roomsXML: XML = new XML();
private var photoArray:Array = new Array ();
private var TitleArray:Array = new Array();
private var photoArray2:Array = new Array ();
private var TitleArray2:Array = new Array();
private var photoArray3:Array = new Array ();
private var TitleArray3:Array = new Array();
private var photoArray4:Array = new Array ();
private var TitleArray4:Array = new Array();
private var keyIn:String = "BR1014";
private var abc:String;
private var abcde:String;
//////////////////////////////////////////////////////////////////////////////////
public function test()
{
//--------connect to TUIO-----------------
TUIO.init(this,'localhost',3000,'',true);
trace("MyTouchApp Initialized");
//----------------------------------------
xxx();
}
private function xxx():void
{
MapSprite = new Sprite();
MapSprite.graphics.lineStyle(1,0x000000);
MapSprite.graphics.beginFill(0xFFFFFF);
MapSprite.graphics.drawRect(0,0, 550,400);
addChild(MapSprite);
loadXML();
}
private function loadXML ():void
{
RoomInfoxmlLoader = new URLLoader ();
roomURL = new URLRequest ("rooms.xml");
RoomInfoxmlLoader.load (roomURL);
roomsXML.ignoreWhitespace = true;
RoomInfoxmlLoader.addEventListener (Event.COMPLETE, loaded);
}
private function loaded (e:Event):void
{
roomsXML = XML(RoomInfoxmlLoader.data);
for (var k:String in roomsXML.trip)
{
TitleArray.push(roomsXML.trip[k].title);
}
for (i = 0; i <TitleArray.length; i++)
{
if(keyIn == TitleArray*)
{
abc = TitleArray*;
goTrace();
}
else
{
load2();
}
}
}
////////////////////////////////////////////////////////////////////////////////
private function load2 ():void
{
RoomInfoxmlLoader = new URLLoader ();
roomURL = new URLRequest ("XML/rooms.xml");
RoomInfoxmlLoader.load (roomURL);
roomsXML.ignoreWhitespace = true;
RoomInfoxmlLoader.addEventListener (Event.COMPLETE, loaded2);
}
private function loaded2 (e:Event):void
{
roomsXML = XML(RoomInfoxmlLoader.data);
for (var k2:String in roomsXML.trip)
{
TitleArray2.push(roomsXML.trip[k2].title);
}
for (i = 0; i <TitleArray2.length; i++)
{
if(keyIn == TitleArray2*)
{
abc = TitleArray2*;
goTrace();
}
else
{
load3 ();
}
}
}
////////////////////////////////////////////////////////////////////////////////
private function load3 ():void
{
RoomInfoxmlLoader = new URLLoader ();
roomURL = new URLRequest ("XML/G_wA.xml");
RoomInfoxmlLoader.load (roomURL);
roomsXML.ignoreWhitespace = true;
RoomInfoxmlLoader.addEventListener (Event.COMPLETE, loaded3);
}
private function loaded3 (e:Event):void
{
roomsXML = XML(RoomInfoxmlLoader.data);
for (var k3:String in roomsXML.trip)
{
TitleArray3.push(roomsXML.trip[k3].title);
}
for (i = 0; i <TitleArray3.length; i++)
{
if(keyIn == TitleArray3*)
{
abc = TitleArray3* ;
goTrace();
}
else
{
load4 ();
}
}
}
////////////////////////////////////////////////////////////////////////////////
private function load4 ():void
{
RoomInfoxmlLoader = new URLLoader ();
roomURL = new URLRequest ("XML/G_wB.xml");
RoomInfoxmlLoader.load (roomURL);
roomsXML.ignoreWhitespace = true;
RoomInfoxmlLoader.addEventListener (Event.COMPLETE, loaded4);
}
private function loaded4 (e:Event):void
{
roomsXML = XML(RoomInfoxmlLoader.data);
for (var k4:String in roomsXML.trip)
{
TitleArray4.push(roomsXML.trip[k4].title);
}
for (i = 0; i <TitleArray4.length; i++)
{
if(keyIn == TitleArray4*)
{
abc = TitleArray4* ;
goTrace();
}
else
{
abc = "999";
goTrace();
}
}
}
/////////////////////////////////////////////////////////////////////////////////////
private function goTrace():void
{
trace(abc);
}
}
}
well… I dunno how to perform a search in XML, so I use the above method, kinda hard code I know…
for example, I try to search " keyIn:String = “BR1014”; " means I wanna search BR1014 in 4 XML files, so I load the XML info into an array, and using for loop to loop the XML array (in this case TitleArray1*, TitleArray2*…)
and compare it with keyIn (which store the value BR1014), some how the value is located in TitleArray4* which have the length of 12 (trace(TitleArray4*.length) = 12)
so everytime I run it, I will overwrite abc 12 times… and out put 12 time the abc value, in this case BR1014 was located in TitleArray4[3], so the 4th output of “abc” is BR1014 but others is all 999…
can some one tell me how to perform the search in a proper way?