jQuery:从XML获取所有子项
jQuery: get all children from XML
我想从XML文档中获取所有子项,并将名称放入变量=值中。脚本必须是动态的 - xml 节点名称将传递给脚本,没有硬编码。例如,如果 xml 文件的用户想要添加一个节点,他可以将该变量传递给 JavaScript,它将在 XML 文件中引用该节点。
$.ajax({
type: 'GET',
url: xmlDoc,
dataType: 'xml',
success: function(xml) {
$(xml).find('Event').each(function() {
}
在 .find('Event') 函数中放什么? $(this).children()
返回一个对象,其中包含 <Event></Event>
下的每个节点名称(例如 EventLocation),$(this).children().text()
返回每个值(例如办公楼 1)。
我想为 xml 文件的每个节点添加一个变量,等于它的值。
示例 XML 文件为:
<Events>
<Event>
<EventLocation>Office Building 1</EventLocation>
</Event>
</Events>
因此,您希望创建一个新变量,其名称是标签名称,其值是该标签的值。
我认为除非使用 eval 函数,否则无法做到这一点,由于多种原因,我认为这不是一个好主意。但因为你问了...给你:
$(xml).find('Event').children().each(function() {
eval(this.nodeName.toLowerCase() + '="' + $(this).text() + '"');
});
这将为您创建变量。然而,它非常肮脏且容易出错。如果标签名称包含不能用作变量名称的字符,它将崩溃。此外,eval 速度很慢,可能会被黑客滥用。根据您要执行的操作,您还有其他选项,例如使用关联数组
相关文章:
- 在控制器中按ID获取XML ViewElement(MultiInput)
- 如何获取XML值,然后使用javascript将它们输出到htm文件中
- 使用 AJAX 获取 XML,然后将其解析为 JSON(无需服务器)
- 如何在JQUERY中从HTML文档中获取XML对象
- 获取xml节点文本
- XML到JSON代理服务器未获取XML提要
- 无法获取XML中的节点值,如何获取
- 在 javascript 中获取 xml 标记名称
- 在javascript中获取xml dom子元素
- 如何在WCF服务中获取Xml作为字符串并使用JavaScript发送
- 无法使用 jquery 获取 xml 属性的值
- 无法使用 jquery 获取 xml 元素文本值
- Angularjs - 使用 $http 获取 xml 响应而不是 json
- 如何使用 JS AJAX 获取 XML 标记的名称
- 获取 XML 节点并将其存储在变量中
- 使用 JavaScript 获取 XML 数据
- 如何获取 xml 控件属性
- 如何在IE8中获取XML节点的文本值
- 如何使用 Jquery 获取 XML 文件,并在每次加载时以随机顺序显示元素一次
- 如何在 JavaScript 中获取 XML 命名空间