ActionScript 3.0 :: Filter Xml Attributes By External Var?
Jul 24, 2009
I have set up my code to filter my xml attributes but need to be able to filter by a var that is dynamically set elsewhere. I can get the code to work if I set: var birthyear = "1980";
How do I get var birthyear to use the var yob that is set elsewhere in my code?
here's a painfully easy one I bet -- I'm aware of how to use EX4 to filter most pieces of the xml I need however how can I filter an XML list such as the one below to check say --- if a dog is a beagle? preferably as a Boolean.
I have an xml document that has namespace qualified elements. What I want to do is search the xmlList to see how many namespace qualifier elements and/or attributes there are. So for example
I am dynamically creating a number of objects (movieclips) which all have a number of attributes.[code]and so on. i.e sub attributes. I don't think this is possible? Only sprite and movieclips can have dynamic attributes so unless atrbY is a movieclip (which it isn't, it's a string) it isn't allowed?Each object can have suboptions with further attributes associated with the chosen suboption.Later in the program I will manipulate, read and interact with the objects and they have text display behaviours dependent on the suboption chosen. That part (should) be straightforward! heh. One the object has the attributes attached in a usable format, accessing them should be simple.This will be for a store. i.e t-shirt1 has size small, price 10, size medium, price 12, size large, price 14. t-shirt2 has size medium, price 35, size large, price 40 and so on.[code]
This format of the XML can be adjusted if it would make the parsing easier.I am currently reading the XML in, stepping through, grabbing the individual parameter such as category and then adding it as an attribute of the object and it works fine. i.e. I end up with obj.category = 'catname'. However, on suboptions I am having a problem.Should I put all the suboptions in a multidimensional array and use nested loops to apply them to the object?I would still have the problem of objX.suboptionarray[Y].suboptionprice which isn't allowed? In the above XML case Y would be 0,1 and 2 giving 3 suboptions to objX and each suboptions would hold attributes such as pvid associated with that suboption.I could go down the horrible route, obj1.suboption1subptionprice ; obj1.suboption1suboptionpname; obj1.suboption1suboptionvalue; obj1.suboption2suboptionprice; obj1.suboption2suboptionpname and so on and so on for each suboption which could be five options (small,medium,large,x-large, xx-large) and which would "work" but would be bad programming and involve splicing names to get say, the "third" suboptions' price and pvid e.t.c
Going down the route of mutidimensional arrays sounds good except that on say 50 objects I would have stacks of arrays which I'm guessing isn't great in terms of resources?.Just to add, the number of suboptions varies between object, every object has a minimum of one suboption (default option) but can have as many as needed (unlikely to be more than 5 but should be scalable). i.e some t-shirts only come in medium whereas some have many sizes.I have a fair amount of leeway on the format of the XML which I generate from the database so the formatting of that could change to make the parsing easier.
I looked at the following example in the AS3 Reference: [URL] It is unclear to me looking at the package example how to apply this in standard ActionScript 3 without packages to a Movie Clip resident in my Library that gets called at RunTime. how I would push the DropShadow filter onto my Movie Clip at RunTime?
To achieve a zoom effect in our 2D flash game, we make the background of the game much bigger than the visible stage. This becomes a problem when the background is complex or when we apply a grayscale filter to the background. Is there a better way to do zoom? Or, is there a way to apply the filter to only a specific area of a movieclip?
how use a button (or movieclip) to filter information out of a datagrid based on an external XML document. For example, say, the data were types of fruit along with their corresponding prices, but the user was only interested in the price of apples. To see only those records or rows with apples and the corresponding apple prices, the user would press the "Apples" button.
Creating the datagrid seems pretty straight forward, it's just the second part that's stumped me. Whatever the answer is would seem to go at the end where the "trace" is now. There seems to be many, many Web sites that sort of touch on this subject.I typed of the following from memory (I'm at work now), but I think this is pretty much what I have so far.
import fl.controls.dataGridClasses.DataGridColumn;import fl.data.DataProvider; var food:XML;var urlLoader:URLLoader;var urlRequest:URLRequest = new URLRequest("food_list.xml");urlLoader = new URLLoader();urlLoader.load(urlRequest);[code].............
After loading the following XML file, is there a way to count the number of attributes of the "question" node, and if possible, the number of items having the word "answer" in them? (in this case 4 should be returned, ie. answer1, answer2, answer3, answer4)
Code:
<?xml version="1.0" encoding="utf-8" ?> <quiz> <question text="The man went ___ the morning." answer1="at" answer2="on" answer3="in" answer4="out" correct="in" /> </quiz>
I want to get all xml elements (xml descendents) which have some attributes like: <books> <book concept="rr" author="xx"/> <book concept="tt" /> <book concept="yy" /> <book concept="uu" author="xx"/> </books>
I need to perform a xml descendent search for xml nodes with author attribute containing results should be: <book concept="rr" author="xx"/> <book concept="uu" author="xx"/>
In my project I have some xml I've embedded and am now parsing.
Here's an example of xml I have.
HTML Code: <use> <player> <add var="health">2</add>
[Code].....
I guess I could just change the names of them in my XML but their must be a workaround. I could potentially not have control over the file and then I'd be screwed.
In Flash I load the text content of the title attribute into a text field, problem is -- the prints instead of operating as a carriage return (new line).
Again, no access to the XML so changing the TextField to htmlText and adding a <br/> tag wont work.
When I try to load in my xml attributes it loads in all the attribures for that node not just the Title Or Description. How do I get it to just load the Title.
Code: var loader:URLLoader = new URLLoader(); loader.addEventListener(Event.COMPLETE, loadXML); loader.load(new URLRequest("2152.xml")); function loadXML(e:Event):void { XML.ignoreWhitespace=true; var xml=new XML(e.target.data); [Code] .....
now for some reason, the elements are correctly traversed using the default namespace. But the attribute isn't found. After a bit of debugging, I found that I could only retrieve the attribute when using xml.animal.attribute(new QName("", "type")). Why isn't the attribute in the same default namespace as the element?
Because also the photo-url-tag has a dash, I needed to parse it with ...child("photo-url"). This worked fine, but if I want to filter these tags(photo-url), in order to receive all photo-url's with the same attribute: "max-widht='1280'", I couldn't manage to do so. I tried this approach:
var photoUrl:XMLList = xml.posts.post.child("photo-url").(@max-width==1280);
I get this error:
ReferenceError: Error #1065: Variable @max is not defined.
I've tried many different ways of accessing the name of an attribute, but just can't get it working.The current Function:
protected function applyProperties(_axml:XML):void { var list:XMLList = _axml.properties;[code]...........
I have tried the name, I've tried searching it as an Object, I looked for solutions on stackoverflow.. nothing has worked for me so far. Originally I had the properties node as such: fearing that Flash was interpretting incorrectly.
edit: It seems like the XML was interpretted rather than printed out..
Ive been asked to research the relationships between classes but having trouble understanding it.
Within my code, the class A creates an instance of class B inside it, storing the instantiated B in a variable in class A so that class A can access data members (attributes) and methods from class B.
How could I create a link in B so that it can also access information about class A?
I'm writing some actionscript to provide a flash frontend to an MS Excel spreadsheet. The idea is that the user will be able to press buttons in a flash application, and that will enter data into the spreadsheet (which will be read and written as XML).