假设你有一个data.xml文件:XML数据转换成使用JQuery
<?xml version="1.0" encoding="UTF-8" ?>
<root>
<item>value1</item>
<item>value2</item>
<item>value3</item>
</root>
我想所有的数据配置存储到一个变量,以便使用它在我的.js代码中使用这样的:
$(document).ready(function() {
'use strict';
jQuery.extend({
getValues: function(url) {
var result = null;
$.ajax({
url: url,
type: 'get',
dataType: 'xml',
async: false,
success: function(data) {
result = data;
}
});
return result;
}
});
results = $.getValues("data.xml");
console.log(results);
});
如果我刷新页面我得到的结果变量,像URL,基本URI,身体字段的文档对象...
如果我再次刷新我的成绩得到了#document与dat对象a from data.xml:
<root>
<item>value1</item>
<item>value2</item>
<item>value3</item>
</root>
所以每次有人转到url时返回的对象的类型都会发生变化。
我对这个两个问题:
我怎样才能使返回的值总是#document? (其中包含来自.xml文件的数据)
如何从#document访问元素?
我已经尝试使用:
console.log(results.root.item);
console.log(results.find("item"));
但两者给我的错误。
也许有更好的方法来做到这一点(意味着读取XML数据到一个单一的变量)。
有什么建议吗?
你是对的,但为了使它工作,我不得不删除“异步”属性。现在我只需要知道如何访问数据变量中的元素。 – rfc1484
@ rfc1484哦,我错过了异步选项。因为你的数据是xml,你可以使用常规的jquery来访问元素:'var xml = $(data);'然后例如'xml.find('someelement')。attr('someattribute');'' – Andy