Ext.data.XmlReader解析
問:XMLファイルに対してExtフレームワークを採用し、どのようにExtが提供する方法を通じて、XML構造の解析を実現しますか?答え:1.Extは、例えるExt.dataを用いる.JsonStoreのようなstoreはurl,root,fields,baseParamsなどのパラメータを渡してデータセットを取得する.そしてサーバ側の言語でXMLを解析して{root:.......}を返す.形式のjson. 2.XmlReaderを含む通常store.このXmlReaderがどのように使われているのかを重点的に議論します.まず、XMLの対応するnodeとnodeの集合をどのように手に入れるかという難しい問題を解決しなければなりません.バックグラウンドはXPathによって指定されたノードとノードの集合を迅速に見つけることができますが、Extは何に頼っていますか?頼りになるのはExt.DomQueryです.
複雑な私たちは先に言わないで、まず、以下のXML:China ShanXi TaiYuan DaTong YunCheng America aaa bbb ccc ddd ではstoreはどう書きますか?1:すべてのcountryのデータセットを返す場合:
複雑な私たちは先に言わないで、まず、以下のXML:
var store = new Ext.data.Store({
url: 'cpc.xml',
reader: new Ext.data.XmlReader({
record: 'country',
}, [
{name: 'country', mapping: 'cid'}
])
});
2: China :
var store = new Ext.data.Store({
url: 'cpc.xml',
reader: new Ext.data.XmlReader({
record: 'country[name=China] > province',
}, [
{name: 'p', mapping: 'pid'}
])
});
3: :
XML :
<conf>
<country name="China">
<cid>China</cid>
<province name="ShanXi">
<pid>ShanXi</pid>
<city>
<cityid>TaiYuan</cityid>
</city>
<city>
<cityid>DaTong</cityid>
</city>
<city>
<cityid>YunCheng</cityid>
</city>
</province>
....
....
</conf>
store :
var store = new Ext.data.Store({
url: 'cpc.xml',
reader: new Ext.data.XmlReader({
record: 'country[name=China] > province[name=ShanXi] > city',
}, [
{name: 'c', mapping: 'cityid'}
])
});
, 。 , store , Ext
。 combobox grid :
combobox , grid 。
:
var combobox = ..........;
var store = new Ext.data.Store({});
var grid = new Ext.grid.GridPanel({
store: store,
columns: [
{header: "province", width: 120, dataIndex: 'p'}
],
width:540,
height:200
});
combobox.on('select', function(combo){
var value = combo.getValue();
store = new Ext.data.Store({
url: 'cpc.xml',
reader: new Ext.data.XmlReader({
record: 'country[name=' + value + '] > province',
}, [
{name: 'p', mapping: 'pid'}
]);
grid.reconfigure(store, grid.getColumnModel());
store.load();
});
:
1, gridpanel reconfigure , store , load store 。
2, XML , xml <conf>, <conf>,
。
3, combo mode remote 。
4, XML ,mapping node tag, Node ,
, 。
5, firebug , ,response xml ,
XMLReader。( ,reader , )
6, XMLReader , XML “ ”, DOMQuery 。 XPATH
, , “ ” 。