data.xmlファイルがあると想像してください。
<?xml version="1.0" encoding="UTF-8" ?>
<root>
<item>value1</item>
<item>value2</item>
<item>value3</item>
</root>
これを使用して.jsコードで使用するために、すべてのデータ構成を1つの変数に格納しようとしています。
$(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、baseURI、bodyなどのフィールドを持つDocumentオブジェクトが表示されます...
もう一度更新すると、data.xmlからのデータを含む#documentオブジェクトが結果に表示されます。
<root>
<item>value1</item>
<item>value2</item>
<item>value3</item>
</root>
したがって、返されるオブジェクトのタイプは、誰かがURLにアクセスするたびに変化します。
これについて2つの質問があります。
戻り値を常に#documentにするにはどうすればよいですか?(.xmlファイルのデータが含まれています)
#documentから要素にアクセスするにはどうすればよいですか?
私は使用してみました:
console.log(results.root.item);
console.log(results.find("item"));
しかし、どちらも私にエラーを与えます。
たぶん、これを行うためのより良い方法があります(xmlデータを単一の変数に読み込むことを意味します)。
助言がありますか?