jQueryの$.parseXMLでXML形式をオブジェクト化できる。HTML5のDOM Parsing APIでも同様にXML形式をオブジェクト化することができる。
方法は次のようにする。
var parser = new DOMParser(); // DOMParserオブジェクトを生成する var doc = parser.parseFromString(XML形式のデータ,"text/xml"); // parseFromStringメソッドを呼び出す
上記の2行でXML形式をオブジェクト化できる。
XML形式のファイルを読み込みオブジェクト化するサンプルコード
<script type="text/javascript">
$(function(){
var url = 'picdef.xml';
$.get(url,$.noop,'html').done(function(data,statusText,jqXHR){
// 読み込んだXMLから配列を作る
var parser = new DOMParser();
var doc = parser.parseFromString(data,"text/xml");
var customers = doc.getElementsByTagName('customer');
for(var i = 0;i<customers.length; i++){
var div = $('<div>').appendTo(document.body);
var ul = $('<ul>').appendTo(div);
var customer = customers.item(i);
var node = customer.getElementsByTagName('title').item(0);
var title_string = node.firstChild.nodeValue;
$('<li>',{text:title_string}).appendTo(ul);
var node = customer.getElementsByTagName('thmb').item(0);
var thmb_name = node.firstChild.nodeValue;
$('<li>',{text:thmb_name}).appendTo(ul);
var node = customer.getElementsByTagName('name').item(0);
var file_name = node.firstChild.nodeValue;
$('<li>',{text:file_name}).appendTo(ul);
}
}).error(function(jqXHR,statusText,error){
alert('エラー ' + error.message);
});
});
</script>