Domanda

I have actually found this code on stackoverflow itself. I want to load an xml into mxml and then convert the loaded data into a pie chart or a bar graph. The code is as follows:

<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
                       xmlns:s="library://ns.adobe.com/flex/spark" 
                       xmlns:mx="library://ns.adobe.com/flex/mx" 
                       creationComplete="load()">
    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->         
    </fx:Declarations>
    <fx:Script>
        <![CDATA[

            // this is a variable definition so it is good
            var xmlLoader:URLLoader = new URLLoader();

            // these two lines are code that executes; so they must be put inside a method; something you did not do.  Comment them out 
            //xmlLoader.addEventListener(Event.COMPLETE, loadXML); // 1st error here
            //xmlLoader.load(new URLRequest("books.xml")); // 2nd error here

            // this is a variable definition so it is okay
            var xmlData:XML = new XML();

            // this is a function definition so it is okay
            function loadXML(e:Event):void{             
                xmlData = new XML (e.target.data);              
            }               

            // move your executing code into a method
            public function load():void{
                xmlLoader.addEventListener(Event.COMPLETE, loadXML);
                xmlLoader.load(new URLRequest("books.xml"));
            }
        ]]>
    </fx:Script>

    <s:VGroup>      
        <s:TextArea id="txtArea">       
        </s:TextArea>               
    </s:VGroup>

</s:WindowedApplication>

It's a code I found on stackoverflow. But still I'm not able to run the code.

And the xml file is something like this:

<?xml version="1.0" encoding="utf-8"?>
<Books>
<Manager Man_id="1" Man_Name="P.Ananth"/>
<Manager Man_id="2" Man_Name="Gokulakrishnan"/>
<Manager Man_id="3" Man_Name="Stani"/>
</Books>

The error I'm incurring is this:- Unable to locate specified base class 'spark.components.WindowedApplication' for component class 'loader2'. loader2.mxml -- /loader2/src -- Unknown Flex Problem

È stato utile?

Soluzione

It seems that your project is Flex web project.

The WindowedApplication is included in the AIR SDK, meaning your project needs to be desktop application project.

Try,

  • <s:WindowedApplication> to <s:Application>

Added:

Although the URLLoader is very important class, you may want to use HTTPService in general.

Let's take a look at code that does the same as your code above:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
               xmlns:s="library://ns.adobe.com/flex/spark"
               xmlns:mx="library://ns.adobe.com/flex/mx"
               creationComplete="service.send()">

    <fx:Declarations>
        <s:HTTPService id="service" resultFormat="e4x" url="books.xml"/>        
    </fx:Declarations>

    <s:VGroup>
        <s:TextArea id="txtArea" width="100%" text="{service.lastResult}"/>       
    </s:VGroup>

</s:Application>

Isn't it simple?

URLLoader is as3 class, and the Flex framework is built on as3. HTTPService is the Flex component, which provides you easy and convenient features. It uses URLLoader internally.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top