我有一个datagrid:
<mx:DataGrid id="resultsDataGrid"
height="328" width="604" paddingRight="0" editable="false" y="43" horizontalCenter="0">
<mx:columns>
<mx:DataGridColumn headerText="Title" dataField="title"/>
<mx:DataGridColumn headerText="Updated" dataField="updated"/>
</mx:columns>
</mx:DataGrid>
我还有一个REST服务,它返回一个xml文件,格式如下:
<feed xmlns="http://www.w3.org/2005/Atom">
<title></title>
<link href=""/>
<link rel="" href=""/>
<updated></updated>
<author>
<name></name>
</author>
<id></id>
<entry>
<title></title>
<link href=""/>
<id></id>
<updated></updated>
<published></published>
<summary></summary>
<author>
<name></name>
</author>
<category term="" label=""/>
<category term="" scheme=""/>
</entry>
</feed>
现在,所有这些字段都会在返回时填充,但为了让我更容易看到我删除了这些值。
我有一个HTTPService尝试填充它,使用以下结果函数:
private function searched(event:ResultEvent):void
{
var result:XML = XML(event.result);
//summaryText.text = result.toXMLString();
//Alert.show(result.children().children().children().toString() + "hey");
resultsDataGrid.dataProvider = result.entry;
}
我只需要将Title和Updated字段实际加载到DataGrid中。 这显然不起作用,所以我来寻求帮助,如果有人有经验并且可以告诉我如何正确安排,我会很感激。 (我认为它与result.entry有关,它必须是像result.feed.entry一样的东西,但是我已经尝试了许多组合并且它们没有工作 - 除非我没有找到正确的。 )
答案 0 :(得分:2)
奇怪的是,命名空间是造成问题的原因。为不包含它们的命名空间自动生成前缀。
最简单的解决方案:不要使用命名空间。
否则:您需要在此处进行一些研究:http://livedocs.adobe.com/flex/3/langref/Namespace.html
在下面的示例代码中,尝试单击按钮,您将看到发生了什么:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:XML id="atomNamespace">
<feed xmlns="http://www.w3.org/2005/Atom">
<title></title>
<link href="" />
<link rel="" href="" />
<updated></updated>
<author>
<name></name>
</author>
<id></id>
<entry>
<title>Title text</title>
<link href="" />
<id></id>
<updated>2010-09-10</updated>
<published></published>
<summary></summary>
<author>
<name></name>
</author>
<category term="" label="" />
<category term="" scheme="" />
</entry>
</feed>
</mx:XML>
<mx:XML id="noNamespace">
<feed>
<title></title>
<link href="" />
<link rel="" href="" />
<updated></updated>
<author>
<name></name>
</author>
<id></id>
<entry>
<title>Title text</title>
<link href="" />
<id></id>
<updated>2010-09-10</updated>
<published></published>
<summary></summary>
<author>
<name></name>
</author>
<category term="" label="" />
<category term="" scheme="" />
</entry>
</feed>
</mx:XML>
<mx:DataGrid id="resultList">
<mx:columns>
<mx:DataGridColumn headerText="Title" dataField="title" />
<mx:DataGridColumn headerText="Updated" dataField="updated" />
</mx:columns>
</mx:DataGrid>
<mx:Button label="Atom Namespace" click="resultList.dataProvider = atomNamespace..entry"/>
<mx:Button label="No Namespace" click="resultList.dataProvider = noNamespace..entry"/>
</mx:Application>