我有一个包含一组数据的XML文件,这必须在HTML页面的许多dojo内容窗格之一中表示。我试过dojox.grid.DataGrid并且它有效;但是由于数据网格通常用于表示表格数据,我不想使用数据网格。
有没有其他方式以简单的格式表示这些数据?
XML文件是这样的:
<Summary>
<neName>abc</neName>
<neType>pqr</neType>
<neRelease>2.0</neRelease>
<neAddress>10.10.82.105</neAddress>
<supervisionState>SUPERVISED</supervisionState>
<operationalState>ENABLED</operationalState>
<alignmentState>ALIGNED</alignmentState>
<criticalAlarms>0</criticalAlarms>
<majorAlarms>0</majorAlarms>
<minorAlarms>0</minorAlarms>
<noOfShelves>5</noOfShelves>
</Summary>
我希望这些数据表示如下:
答案 0 :(得分:2)
答案 1 :(得分:1)
如果你感觉活泼,你可以制作一种通用的XML数据小部件。这是我前一段时间的例子。
dojo.declare("foo.XmlDisplay", dijit._Widget, {
postCreate: function()
{
this.inherited(arguments);
dojo.xhrGet({
url: this.href,
handleAs: "xml",
load: dojo.hitch(this, "setData")
});
},
setData: function(data)
{
// All items with a xmldisp-tag attribute should get data
dojo.query("*[data-xmldisp-tag]", this.containerNode).forEach(
function(item) {
var tag = dojo.attr(item, "data-xmldisp-tag");
var value = data.getElementsByTagName(tag);
if(value.length == 1) item.innerHTML = value[0].textContent;
else console.warn("No data in xml for",tag);
}
);
}
});
然后你可以在你的HTML中使用这样的东西(即小部件不关心你如何显示数据,它只是使用给定的标签名称来从服务器查找XML中的数据):
<div data-dojo-type="foo.XmlDisplay" href="/MyXmlStuff?id=42">
<dl>
<dt>NE name</dt><dd data-xmldisp-tag="nename">-</dd>
<dt>NE type</dt><dd data-xmldisp-tag="netype">-</dd>
</dl>
<dl>
<dt>Alarms</dt><dd data-xmldisp-tag="majoralarms">-</dd>
<dt>Minor</dt><dd data-xmldisp-tag="minoralarms">-</dd>
</dl>
</div>
您可以尝试以下修改过的jsfiddle:http://fiddle.jshell.net/K4UnJ/3/
根本不确定这是否适合您的任务,但由于我的代码非常相似,我以为我会分享。