如何使用Ajax获取Xml数据 [英] How to get Xml data by using ajax
本文介绍了如何使用Ajax获取Xml数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用ajax调用来获取我的xml数据.但是我在result.responseXML
中仅获得ROOT节点值数据.无法访问ITEM标签数据.
I am trying to get my xml data by using ajax call. But I am getting only ROOT Node value data in my result.responseXML
. Not able to access ITEM tag data.
我的XML.
<ROOT UN="ABC" Total="28">
<ITEM Val = "1" data = "name1" />
<ITEM Val = "2" data = "name2" />
<ITEM Val = "3" data = "name3" />
<ITEM Val = "4" data = "name4" />
<ITEM Val = "5" data = "name5" />
</ROOT>
这是我正在尝试的.
Ext.Ajax.request({
url : url,
method: 'GET',
success: function ( result, request )
{
debugger;
result.responseXML
}
});
在responseXML中,我得到<ROOT UN="ABC" Total="28" ></ROOT>
In responseXML I am getting <ROOT UN="ABC" Total="28" ></ROOT>
任何人都可以帮助我做错什么以及如何纠正.如何也获得Item标签.
Can Anybody help me what I am doing wrong and how to coorrect that. How to get Item tag also.
推荐答案
在Ext js中,读取xml数据的最佳方法是使用存储.
In Ext js, the best way to read xml data is to use a store.
- 创建商店并定义字段(映射属性(@Val)用于指示这是属性而不是子元素);
- 使用ajax代理加载数据;
- 使用xml阅读器读取数据.在Ext js 6中,您定义根元素的名称和要获取的元素的名称;
- 加载商店并在控制台中显示第一个元素的值.
var itemStore = Ext.create('Ext.data.Store', {
fields: [{name: 'val', mapping: '@Val'},
{name: 'data', mapping: '@data'}],
proxy: {
type: 'ajax',
url: 'data1.xml',
method: 'GET',
reader: {
type: 'xml',
record: 'ITEM',
rootProperty: 'ROOT'
}
}
});
itemStore.load(function(records, operation, success) {
var item1 = itemStore.first();
console.log("First item " + item1.get('val'));
});
在此处检查小提琴: https://fiddle.sencha.com/# view/editor& fiddle/1vd6
这篇关于如何使用Ajax获取Xml数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文