首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

flex怎么读取以下xml文件,并显示在Tree组件中

2012-02-24 
flex如何读取以下xml文件,并显示在Tree组件中?这是xml代码:XML code?xml version1.0 encodingutf-8

flex如何读取以下xml文件,并显示在Tree组件中?
这是xml代码:

XML code
<?xml version="1.0" encoding="utf-8"?>  <root>    <MenuItem>        <id>1</id>        <title>公司简介</title>    </MenuItem>    <MenuItem>        <id>2</id>        <title>新闻动态</title>    </MenuItem>    <MenuItem>        <id>3</id>        <title>产品中心</title>        <Menu>            <id>6</id>            <title>类别管理</title>        </Menu>        <Menu>            <id>7</id>            <title>产品管理</title>            <Menu>                <id>8</id>                <title>产品类别1</title>            </Menu>            <Menu>                <id>9</id>                <title>产品类别2</title>            </Menu>        </Menu>    </MenuItem>        <MenuItem>        <id>4</id>        <title>成功案例</title>    </MenuItem>    <MenuItem>        <id>5</id>        <title>关于我们</title>    </MenuItem></root>

需要显示为如下效果:

>公司简介
>新闻动态
∨产品中心
  >类别管理
  ∨产品管理
    ∨产品类别1
    ∨产品类别2
>成功案例
>关于我们

本人新手,实在是搞不定这个,只好发贴求助,希望各位高手帮帮忙

[解决办法]
[Bindable]
private var xml:XML=<root>
<MenuItem>
<id>1</id>
<title>公司简介</title>
</MenuItem>

<MenuItem>
<id>2</id>
<title>新闻动态</title>
</MenuItem>

<MenuItem>
<id>3</id>
<title>产品中心</title>
<Menu>
<id>6</id>
<title>类别管理</title>
</Menu>
<Menu>
<id>7</id>
<title>产品管理</title>
<Menu>
<id>8</id>
<title>产品类别1</title>
</Menu>
<Menu>
<id>9</id>
<title>产品类别2</title>
</Menu>
</Menu>
</MenuItem>

<MenuItem>
<id>4</id>
<title>成功案例</title>
</MenuItem>

<MenuItem>
<id>5</id>
<title>关于我们</title>
</MenuItem>

</root>;
private function treeLabel(item:Object):String
{
var node:XML=XML(item);
var str:String=null;
if (node.localName() == "MenuItem")
str=node.child("title");
else if (node.localName() == "Menu")
str=node.child("title");
return str;
}
]]>
</mx:Script>

<mx:Tree id="tree"
top="72"
left="50"
dataProvider="{xml}"
labelFunction="treeLabel"
height="224"
width="279"/>


这是前几天的帖子的方法,

还有问题, 搞不定.

看有人跟帖吧.
[解决办法]
用xlst转一下就可以了,java端与flex端都可以转,不过java端需要一个工具jar,flex需要一个SWC,很早的时候都用过,忘记了,但肯定是有的,你网上搜一把吧
[解决办法]
//定义一个URLLoader类
private var loader:URLLoader = new URLLoader();


private function getUrlRequest():void
{
var request:URLRequest = new URLRequest("tree.xml");
loader.load(request);
loader.addEventListener(Event.COMPLETE, completeHander);
}

private var menus2:XML;
private function completeHander(e:Event):void
{
menus2 = XML(loader.data);
var results:XMLList = menus2.node;
tree2.dataProvider = results;
}

热点排行