52,786
社区成员
发帖
与我相关
我的任务
分享
var ajaxXML=function(){
//原数据对象
var xmldata=Ext.data.Record.create([
{name:'userid'},
{name:[{name:'UserStateId'},{name:'UserStateName'}]},
{name:[{name:'RoleId'},{name:'RoleName'},{name:'RoleDesc'}]},
{name:'UserName'},
{name:'Password'},
{name:'DepartId'},
{name:'Gender'}
]);
//1.创建一个HTTP代理
var httpProxy=new Ext.data.HttpProxy({
url:'test.aspx'
});
//2.定义XMLReader的原数据对象
var metedate={
totalRecords:"results",
record:"row",
id:'id',
fileds:xmldata
};
//3.创建XMLReader数据解析器,传入原数据对象
var xmlReader=new Ext.data.XmlReader(xmldata);
//4.读取数据。使用XMLReader进行解析
httpProxy.load(null,xmlReader,callback,this,null);
var callback=function(result){
var records=result.records;
var rec=records[0];
var totalRecords=result.totalRecords;
alert(totalRecords);
}
}
<?xml version="1.0" encoding="utf-8" ?>
- <ArrayOfUserInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <UserInfo>
<UserId>admin</UserId>
- <UserState>
<UserStateId>1</UserStateId>
<UserStateName>正常状态</UserStateName>
</UserState>
- <Role>
<RoleId>2</RoleId>
<RoleName>系统管理员</RoleName>
<RoleDesc>拥有本系统最高管理权限</RoleDesc>
</Role>
<UserName>系统管理员</UserName>
<Password>123</Password>
<DepartId>7</DepartId>
<Gender>1</Gender>
</UserInfo>
</ArrayOfUserInfo>
XmlReader解析器
Ext.onReady(function(){
//创建HTTP代理
var httpProxy = new Ext.data.HttpProxy({
url : 'xmlServer.jsp'
/*此页面应返回Xml文档格式,如:
<dataset>
<results>5</results>
<row>
<id>0</id>
<name>tom</name>
<age>24</age>
</row>
<row>
<id>1</id>
<name>jack</name>
<age>22</age>
</row>
</dataset>
*/
})
//定义XmlReader的元数据对象
metedata = {
totalRecords : "results",
record : "row",
id: "id" ,
fields : [
{name: 'id',mapping:'id'},
{name: 'personName',mapping:'name'},
{name: 'personAge',mapping:'age'}
]
}
//创建XmlReader数据解析器,传入元数据对象
var xmlReader = new Ext.data.XmlReader(metedata);
//读取数据,并使用XmlReader进行解析
httpProxy.load(null,xmlReader,callBack);
//load方法的回调函数
function callBack(result){
var records = result.records;
var rec = records[0];//取第一条记录
var totalRecords = result.totalRecords;
alert('xmlReader 示例:'+ '\n' +
'总记录数:' + totalRecords + '\n' +
'personId = '+rec.get('id') + '\n' +
'personName = '+rec.get('personName') + '\n' +
'personAge = '+rec.get('personAge'));
}
});