取得情報の処理(XML、JSON)
(サーバ側の注意)content-type: text/xml, application/xmlなどXML形式を指定してすること。さもないと、XMLHttpObject of FirefoxのresponseXMLがヌルになる。
なお、クライアント側で、 取得時に次のように指定することで回避できる。
httpObj.overrideMimeType('application/xml');要素のアクセス
E4Xがわかりやすいのですが、FirefoxやActionScriptでしかサポートされていません。
Namespace付きのタグに対してはgetElementsByTagNameNS("URIofNS",tag)を使います。
var eItems = xmlDoc.documentElement.getElementsByTagName('item');for(var child=0;child<eItems.length;child++){ var eLink = eItems[child].getElementsByTagName('link')[0]; var tLink = getTextContent(eLink); ...}function getTextContent(node) { try{ return node.textContent; }catch(e){ return node.text; }}NameSpaceがある場合
参考XML文書のロード
var xmlDoc;//code for Internet Explorerif (window.ActiveXObject){xmlDoc = new ActiveXObject("Microsoft.XMLDOM");xmlDoc.async=false;xmlDoc.load("note.xml");displaymessage();}// code for Mozilla, Firefox, etc.else (document.implementation && document.implementation.createDocument){xmlDoc= document.implementation.createDocument("","",null);xmlDoc.load("note.xml");xmlDoc.onload=displaymessage;}function displaymessage(){document.write(xmlDoc.getElementsByTagName("body")[0].firstChild.nodeValue);}