|
|
|
#1 |
|
Junior Member
Join Date: Jun 2006
Posts: 1
|
can help me with my flash xml loading?
i want to load a xml file very dynamically in flash. i have a xml file as blow:
<?xml version="1.0"?> <cbs> <employee> <number>1</number> <name>Shi Chuan</name> <comment>intern</comment> </employee> <employee> <number>1</number> <name>Shang</name> <comment>flasher</comment> </employee> <employee> <number>2</number> <name>Jakson</name> <comment>rapist</comment> </employee> <employee> <number>2</number> <name>Charles</name> <comment>director</comment> </employee> </cbs> when i load it in flash, i hope flash can recognize the value between the <number> tag. and put them into two groups(number 1 one group, number 2 another group) according to their number. in this case, it should display: 1st group: Shi Chuan intern; Shang flasher 2nd group: Jakson rapist; Charles director if i add one more node in xml like below: <employee> <number>1</number> <name>John</name> <comment>healer</comment> </employee> i hope flash can auto-update the info and display: 1st group: Shi Chuan intern; Shang flasher; john healer 2nd group: Jakson rapist; Charles director; john healer don't know if you guys have any idea how to make it. pls help me! thank you. |
|
|
|
|
|
#2 |
|
up to my .as in code
Join Date: Dec 2004
Posts: 4,376
|
All of this assumes you use a number value of 1 or 2 as your posted xml suggests.
Here is a quick example that will at least show you how to dig out the nodes depending on what that number value is. In this I send all users with a value of "1" to one textfield and all with a value of "2" to the other textfield. http://actionscript.hobby-site.com/e...s/freebie.html It uses a flash movie with two textfields. One with an instance name of "txt1" and one with an instance name of "txt2". This puppy only needs one frame so post this in the actions for frame 1: Code:
Group1 = new Array();
Group2 = new Array();
my_xml = new XML();
my_xml.load("./freebie.xml");
my_xml.ignoreWhite = true;
my_xml.onLoad = function(Success){
if (Success){
dissect();
}else{
txt1.text= "xml error.";
}
};
txt1.text="";
txt2.text="";
function dissect() {
i=0;
for (p=0; p<my_xml.firstChild.childNodes.length; p++) {
if(my_xml.firstChild.childNodes[p].childNodes[0].childNodes[0].nodeValue=="1"){
Group1.push(my_xml.firstChild.childNodes[i].childNodes[0].childNodes[0].nodeValue+"\n");
Group1.push(my_xml.firstChild.childNodes[i].childNodes[1].childNodes[0].nodeValue+"\n");
Group1.push(my_xml.firstChild.childNodes[i].childNodes[2].childNodes[0].nodeValue+"\n");
i++;
txt1.text = Group1;
}else{
Group2.push(my_xml.firstChild.childNodes[i].childNodes[0].childNodes[0].nodeValue+"\n");
Group2.push(my_xml.firstChild.childNodes[i].childNodes[1].childNodes[0].nodeValue+"\n");
Group2.push(my_xml.firstChild.childNodes[i].childNodes[2].childNodes[0].nodeValue+"\n");
i++;
txt2.text = Group2;
}
}
}
}
stop();
Code:
<?xml version="1.0"?> <cbs> <employee> <number>1</number> <name>Shi Chuan</name> <comment>intern</comment> </employee> <employee> <number>1</number> <name>Shang</name> <comment>flasher</comment> </employee> <employee> <number>2</number> <name>Jakson</name> <comment>rapist</comment> </employee> <employee> <number>2</number> <name>Charles</name> <comment>director</comment> </employee> <employee> <number>1</number> <name>Chris</name> <comment>XMLFreak</comment> </employee> <employee> <number>2</number> <name>Filipe</name> <comment>Chef</comment> </employee> <employee> <number>2</number> <name>Pierre</name> <comment>Bellhop</comment> </employee> </cbs> This help?
__________________
YaYa - Yet Another YouTube App at Adobe Showcase KM-CODEX Desktop - "Power Windows" and "Color My World" at Adobe Showcase KM-CODEX - Resources for Koolmoves, Flex, Adobe AIR & SWF Studio Users ABCms Post Authoring - Adobe AIR Marketplace in-R-tube (Search/View/Download YouTube) - Download this inside KM-CODEX Desktop! Last edited by Chris_Seahorn; 06-23-2006 at 02:20 AM. |
|
|
|
|
|
#3 |
|
up to my .as in code
Join Date: Dec 2004
Posts: 4,376
|
In that last reply I posted it sending the sections to an array since that is useful. If you were going to repurpose those sections later in the movie...the arrays would come into play.
You may however simply want to send the values concatenated to a html enabled textfield if you have no need for the arrays created and only want a simple display. Instead of displaying the raw arrays we could maybe: http://actionscript.hobby-site.com/e.../freebie2.html by using this script on frame 1 and making both textfields html enabled:] Code:
my_xml = new XML();
my_xml.load("./freebie.xml");
my_xml.ignoreWhite = true;
my_xml.onLoad = function(Success){
if (Success){
dissect();
}else{
txt2.text= "xml error";
}
};
txt1.htmlText="<u><b>Group 1 Users</b></u><br><br>";
txt2.htmlText="<u><b>Group 2 Users</b></u><br><br>";
function dissect() {
i=0;
for (p=0; p<my_xml.firstChild.childNodes.length; p++) {
if(my_xml.firstChild.childNodes[p].childNodes[0].childNodes[0].nodeValue=="1"){
//in this example we drop the number from display since it's obvious
//txt1.htmlText += my_xml.firstChild.childNodes[i].childNodes[0].childNodes[0].nodeValue+"<br>";
txt1.htmlText += "<b>"+my_xml.firstChild.childNodes[i].childNodes[1].childNodes[0].nodeValue+"</b><br>";
txt1.htmlText += my_xml.firstChild.childNodes[i].childNodes[2].childNodes[0].nodeValue+"<br>";
i++;
}else{
//in this example we drop the number from display since it's obvious
//txt2.htmlText += my_xml.firstChild.childNodes[i].childNodes[0].childNodes[0].nodeValue+"<br>";
txt2.htmlText += "<b>"+my_xml.firstChild.childNodes[i].childNodes[1].childNodes[0].nodeValue+"</b><br>";
txt2.htmlText += my_xml.firstChild.childNodes[i].childNodes[2].childNodes[0].nodeValue+"<br>";
i++;
}
}
}
}
stop();
__________________
YaYa - Yet Another YouTube App at Adobe Showcase KM-CODEX Desktop - "Power Windows" and "Color My World" at Adobe Showcase KM-CODEX - Resources for Koolmoves, Flex, Adobe AIR & SWF Studio Users ABCms Post Authoring - Adobe AIR Marketplace in-R-tube (Search/View/Download YouTube) - Download this inside KM-CODEX Desktop! Last edited by Chris_Seahorn; 06-23-2006 at 02:49 AM. |
|
|
|
|
|
#4 |
|
up to my .as in code
Join Date: Dec 2004
Posts: 4,376
|
And fire that "Jackson" dude for gods sake...he's a rapist!
__________________
YaYa - Yet Another YouTube App at Adobe Showcase KM-CODEX Desktop - "Power Windows" and "Color My World" at Adobe Showcase KM-CODEX - Resources for Koolmoves, Flex, Adobe AIR & SWF Studio Users ABCms Post Authoring - Adobe AIR Marketplace in-R-tube (Search/View/Download YouTube) - Download this inside KM-CODEX Desktop! |
|
|
|
![]() |
|
||||||
| Thread Tools | Search this Thread |
| Display Modes | |
|
|