我正在尝试从xml文件加载数据,但标记名称包含冒号。不显示给定代码的结果。
var auth = "Basic xxxxxxxxxxxxxxxxxx";
// Create store
var xStore = new Ext.data.Store({
autoLoad: false,
// Override default http proxy settings
proxy: new Ext.data.ScriptTagProxy({
// Call web service method using GET syntax
url: 'http://myotherdomain.com/file.xml',
headers : { Authorization : auth }
}),
reader: new Ext.data.XmlReader({
record: 'aa:bb'
},
[
{name: 'Name', mapping: 'name'}
]
)
});
var grid = new Ext.grid.GridPanel({
store: xStore,
columns: [
{header: 'Name', width: 120, dataIndex: 'Name', sortable: true}
],
renderTo:'example-grid',
width:540,
height:200
});
xStore.load();
grid.getView().refresh();
以下是一些示例数据:
<?xml version="1.0" encoding="UTF-8"?>
<aa:bb>
<name>simple_name</name>
</aa:bb>
在一个论坛上,我看到它可以用DomQuery完成,但我不知道如何做到这一点。
任何帮助?
答案 0 :(得分:0)
这已在DomQuery的EXTJS实现的第4版中修复,但不是早期版本。在线代码向您展示了如何在EXTJS 4中更改名称空间之前修改代码库。
请参阅我的帖子
extjs-4-2-escape-colon-in-xml-tag-for-xml-reader
请注意,如果根标记使用命名空间,则使用冒号作为|来设置它在根xml标记中定义名称空间后,将应用名称空间字符。
,即XML阅读器中的root: 'atom:feed'