将具有控件布局的Xml文件渲染到HTML5页面中
Render the Xml file having controls layout into HTML5 page
我有下面的xml文件,其中包含要呈现到HTML页面中的控件信息。内容如下:
<control type="panel">
<panel id="p1">
<button id="b1">
<value>TEST</value>
</button>
<textbox id="t1">
<text>HELLO</text>
</textbox>
</panel>
<control>
这必须实时呈现到一个div中,该div包含一个包含一个按钮和一个文本框的面板。xml的内容只有在运行时才知道。它可以只是一个按钮或下拉列表信息。如何着手解决这个问题。一个通用算法(可能使用jquery)将非常有用。
对于通用的东西,您的XML需要是通用的,或者符合"XML到HTML表单约定"的约定。我不知道有这样的事
这似乎很容易处理。下面是我如何处理您的XML示例的示例。
$(function() {
// Data setup (I assume you'd be getting this from AJAX)
var xml = '<control type="panel">' +
'<panel id="p1">' +
'<button id="b1">' +
'<value>TEST</value>' +
'</button>' +
'<textbox id="t1">' +
'<text>HELLO</text>' +
'</textbox>' +
'</panel>' +
'</control>';
// Convert to jQuery XML object
var xml = $($.parseXML(xml));
// Set parent
var parent = $('#control');
// Handle elements
xml.find('panel').children().each(function() {
var tag = $(this)[0].tagName;
switch (tag) {
case 'button':
parent.append('<button id="' +
$(this).attr('id') + '">' +
$(this).find('value').text() +
'</button>');
break;
case 'textbox':
parent.append('<input type="text" id="' +
$(this).attr('id') +
'" value="' +
$(this).find('text').text() +
'" />');
break;
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="control"></div>
当然,您可以根据需要对此进行修改,添加新元素处理,更改添加到父元素的方式等。我希望这会有所帮助。
相关文章:
- 我可以设置HTML5文件上传的视频长度限制吗
- 使用javascript/Jquery获取HTML5文件的详细信息
- 我可以使用 HTML5 文件 API 预览 PDF 吗?
- 在NW.js应用程序中为HTML5文件API设置配额
- HTML5 文件阅读器如何返回结果
- 从多个文件中推送文本的函数(使用html5文件读取器上传)返回数组
- html5文件api,将用户选择的目录存储在sessionStorage中
- HTML5文件API使用Ajax上传多个图像
- 多个进度条/html5文件上传
- HTML5文件系统:未在设备上创建文件
- 如何使用ReactTestUtils设置HTML5文件类型输入
- Opera中的HTML5文件阅读器
- HTML5 文件阅读器 API - 图像质量
- HTML5 文件上传块/切片会导致高 CPU 使用率
- 使用 HTML5 文件 API 在浏览器中创建音频列表
- html5 文件中的 jquery 链接出现问题
- HTML5 文件上传输入 - 更改时
- HTML5 文件系统信息栏在展台模式下没有响应
- 使用jQuery和HTML5文件API显示文件的内容
- Javascript-将图像文件写入blob(html5文件api)