<?xml version = "1.0" encoding = "utf-8"?>
<mx:Application xmlns:mx = "http://www.adobe.com/2006/mxml" layout = "absolute">
<mx:Script>
<![CDATA[
import mx.rpc.AsyncToken;
private function getPersons():void
{
var token:AsyncToken=getPersonsService.send();
}
private function showName(item:Object, column:DataGridColumn):String
{
return item.name.firstName + "." + item.name.lastName;
}
]]>
</mx:Script>
<mx:HTTPService id = "getPersonsService" url = "http://localhost:8080/html/person.xml"/>
<mx:Panel>
<mx:DataGrid id = "dataGrid" dataProvider = "{getPersonsService.lastResult.persons.person}">
<mx:columns>
<mx:DataGridColumn id="nameData" headerText="姓名" labelFunction="showName"/>
<mx:DataGridColumn dataField = "age" headerText="年龄"/>
</mx:columns>
</mx:DataGrid>
<mx:Button label = "getData" click = "getPersons()"/>
</mx:Panel>
</mx:Application>
person.xml
<?xml version="1.0" encoding="GB2312" ?>
<!DOCTYPE persons SYSTEM "person.dtd">
<persons>
<person id="1001" sex="男">
<name>
<firstName>li</firstName>
<lastName>haibo</lastName>
</name>
<age>100</age>
<like>music</like>
<address>&myAddress;</address>
</person>
<person id="1003" sex="男">
<name>
<firstName>yang</firstName>
<lastName>lin</lastName>
</name>
<age>100</age>
<like>sports</like>
<address>&myAddress;</address>
</person>
</persons>
person.dtd
<?xml version="1.0" encoding="GB2312" ?>
<!ELEMENT persons (person+)>
<!ELEMENT person (name,age,like+,address)>
<!ELEMENT name (firstName,lastName)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT firstName (#PCDATA)>
<!ELEMENT like (#PCDATA)>
<!ELEMENT lastName (#PCDATA)>
<!ATTLIST person id ID #REQUIRED>
<!ATTLIST person sex (男|女) #REQUIRED>
<!ENTITY myAddress "长沙市红星大市场">