在Flex Builder中,如果要加载一个外部的XML是比较简单的,将绝对路径或则是相对路径写入就可以了。但是如果是一个web的工程,这个问题就显得比较复杂了,因为这个时候,你得不到文件的绝对和相对路径,在Flex3中,解决这个问题,有如下两个方法。

    【一】mx:Model的方式
      
     程序主文件:
     
 1Flex中加载外部XML<?xml version="1.0"?>
 2Flex中加载外部XML<!-- Simple example to demonstrate the LinkBar control. -->
 3Flex中加载外部XML<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
 4Flex中加载外部XML    <mx:Script>
 5Flex中加载外部XML        <![CDATA[            
 6Flex中加载外部XML        ]]>
 7Flex中加载外部XML    </mx:Script>
 8Flex中加载外部XML    <mx:Model id="catalogService" source="news.xml" /> 
 9Flex中加载外部XML    <mx:ArrayCollection id="myXC" source="{catalogService.news}"/> 
10Flex中加载外部XML    <mx:Panel title="TestLinkBarForXML" 
11Flex中加载外部XML        height="323" width="466" horizontalAlign="center"
12Flex中加载外部XML        paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10">
13Flex中加载外部XML   
14Flex中加载外部XML        <mx:Text width="100%" 
15Flex中加载外部XML            text="一个LinkBar的测试"/>
16Flex中加载外部XML
17Flex中加载外部XML        <mx:LinkBar color="#0000FF" fontWeight="bold" dataProvider="{myViewStack}"/>        
18Flex中加载外部XML        
19Flex中加载外部XML        <!-- Define the ViewStack and the three child containers. -->
20Flex中加载外部XML        <mx:ViewStack id="myViewStack" borderStyle="solid" width="100%" height="80%">
21Flex中加载外部XML
22Flex中加载外部XML            <mx:Canvas id="show1" backgroundColor="#FFFFCC" label="显示一" width="100%" height="100%">
23Flex中加载外部XML            
24Flex中加载外部XML            </mx:Canvas>
25Flex中加载外部XML
26Flex中加载外部XML            <mx:Canvas id="show2" backgroundColor="#CCFFFF" label="显示二" width="100%" height="100%">
27Flex中加载外部XML            <mx:DataGrid dataProvider="{myXC}"/>
28Flex中加载外部XML            </mx:Canvas>
29Flex中加载外部XML
30Flex中加载外部XML            <mx:Canvas id="show3" backgroundColor="#FFCCFF" label="显示三" width="100%" height="100%">
31Flex中加载外部XML            </mx:Canvas>
32Flex中加载外部XML        </mx:ViewStack>
33Flex中加载外部XML        
34Flex中加载外部XML    </mx:Panel>
35Flex中加载外部XML    <mx:XML id="myXML" source="news.xml" />
36Flex中加载外部XML  
37Flex中加载外部XML      <mx:Text id="myText"  width="292"/>
38Flex中加载外部XML</mx:Application>
39Flex中加载外部XML
40Flex中加载外部XML

    news.xml文件
 1Flex中加载外部XML<?xml version="1.0" encoding="utf-8"?>
 2Flex中加载外部XML<main>
 3Flex中加载外部XML  <news>
 4Flex中加载外部XML     <newsTitle>1-1</newsTitle>
 5Flex中加载外部XML     <newsItem>1-2</newsItem>
 6Flex中加载外部XML  </news>
 7Flex中加载外部XML  <news>
 8Flex中加载外部XML     <newsTitle>2-1</newsTitle>
 9Flex中加载外部XML     <newsItem>2-2</newsItem>
10Flex中加载外部XML  </news>
11Flex中加载外部XML</main>


运行后画面:
Flex中加载外部XML

Flex中加载外部XML


    【二】mx:HTTPService的方式

    主程序:
1Flex中加载外部XML<?xml version="1.0"?> 
2Flex中加载外部XML<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" initialize="catalogService.send()"> 
3Flex中加载外部XML    <mx:HTTPService id="catalogService" url="catalog.xml" resultFormat="e4x"/> 
4Flex中加载外部XML    <mx:XMLListCollection id="myXC" source="{catalogService.lastResult.product}"/> 
5Flex中加载外部XML    <mx:Repeater id="r" dataProvider="{myXC}" startingIndex="1"> 
6Flex中加载外部XML        <mx:RadioButton id="Radio" label="{r.currentItem.name}"/> 
7Flex中加载外部XML    </mx:Repeater> 
8Flex中加载外部XML</mx:Application>
9Flex中加载外部XML

   xml文件:
 1Flex中加载外部XML<?xml version="1.0"?> 
 2Flex中加载外部XML<products> 
 3Flex中加载外部XML  <product> 
 4Flex中加载外部XML    <name>Name</name> 
 5Flex中加载外部XML    <price>Price</price> 
 6Flex中加载外部XML    <freeship>Free Shipping?</freeship> 
 7Flex中加载外部XML  </product> 
 8Flex中加载外部XML  <product> 
 9Flex中加载外部XML    <name>Whirlygig</name> 
10Flex中加载外部XML    <price>5</price> 
11Flex中加载外部XML    <freeship>false</freeship> 
12Flex中加载外部XML  </product> 
13Flex中加载外部XML  <product> 
14Flex中加载外部XML    <name>Tilty Thingy</name> 
15Flex中加载外部XML    <price>15</price> 
16Flex中加载外部XML    <freeship>true</freeship> 
17Flex中加载外部XML  </product> 
18Flex中加载外部XML<product> 
19Flex中加载外部XML    <name>Really Big Blocks</name> 
20Flex中加载外部XML    <price>25</price> 
21Flex中加载外部XML    <freeship>true</freeship> 
22Flex中加载外部XML  </product> 
23Flex中加载外部XML</products>

转载:http://www.blogjava.net/rainwindboys/archive/2008/08/29/225610.html

相关文章:

  • 2022-12-23
  • 2021-12-08
  • 2022-12-23
  • 2022-01-13
  • 2021-05-24
  • 2021-09-04
  • 2022-12-23
  • 2021-12-29
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-02
  • 2022-12-23
  • 2021-05-30
  • 2022-12-23
相关资源
相似解决方案