помогите со скриптом
у меня есть XML документ:
<?xml version="1.0"?> <root> <localhost name="disk" exc="loch" ind="0"> </localhost> </root> как мне сделать чтобы из этого документа сформировалось вот это причем кроссбраузерно: <span id="значение ind"><img src="./значение exc" width="32" height="32" alt="" /><br><span>значение name</span></span> Помогите плиз!!!!! |
пытался сделать таким образом но не IE и FF не работает:
<script type="text/javascript"> function importXML(){ if (document.implementation && document.implementatio n.createDocument){ xmlDoc = document.implem entation.createDocument("", "", null);xmlDoc.onload = createTable;} else if (window.ActiveXObject){ xmlDoc = new ActiveXObjec t("Microsoft.XMLDOM"); xmlDoc.onreadystatechange= function () {if (xmlDoc.readyState == 4) createTable()};} else{ alert('Your browser can\'t handle this script'); return; } xmlDoc.load("tt.xml");} function createTable(){ localh = xmlDoc.getElementsByTagName("localhost"); exc = xmlDoc.getAttribute("exception"); LName = xmlDoc.getAttribute("name"); Lind = xmlDoc.getAttribute("ind"); content='<span id="'+Lind+'" class="" height="48" width="48"><img src="./'+exc+'.png" height="32" width="32" class="" alt=""/><span>'+LName+'</span></span>'; document.all.writeroot.innerHTML=content;} </script> в чем проблема? |
|
jQ
$.get(url, function (xml) { var data = $('<div/>'); data.html(xml); data = data.find('localhost'); exc = data.attr('exc'), _name = data.attr('name'); }); |
а можно как нибудь это сделать не прибегая к фреймворк-ам?
|
Цитата:
|
можете превести пример?
|
Цитата:
|
Цитата:
Как насчёт того чтобы палец о палец ударить самому? |
помогите найти проблему в парсинге xml-я
вот мой js код: function getXMLDocument(url) { var xml; if(window.XMLHttpRequest) { xml=new window.XMLHttpRequest(); xml.open("GET", url, false); xml.send(""); return xml.responseXML; } else if(window.ActiveXObject) { xml=new ActiveXObject("Microsoft.XMLDOM"); xml.async=false; xml.load(url); return xml; } else { alert("Загрузка XML не поддерживается браузером"); return null; } } //-------------------- function parseGismeteoXML(url, template) { var output=""; var xml=null; try { xml=getXMLDocument(url); if(!xml) return "<font color='red'>Нет данных</font>"; } catch(e) { return "<font color='red'>"+e.message+"</font>"; } var lhs=xml.getElementsByTagName("localhost"); var lh=null; if(lhs) for(var i1=0; i1<lhs.length; i1++) { lh=lhs[i1]; var lh_attr = getAttributes(lh); var t_lh = template.lh.replace(/\{name\}/g, lh_attr['name']).replace(/\{ind\}/g, lh_attr['ind']).replace(/\{exc\}/g, lh_attr['exc']); output+=t_lh; } return output; } //-------------------- function drawGismeteoInformer(url, div, template) { var div=document.getElementById(div); if(!div) return; var output=parseGismeteoXML(url, template); div.innerHTML=output; } вот мой html код: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>Text XML</title> <script type="text/javascript" src="FS-Web.js"></script> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> </head> <body> <div id="forecast"></div> <script type="text/javascript"> var template={"lh":"Имя локального диска {name}, индекс {ind} и формат {ecx}" }; drawGismeteoInformer("tt.xml", "forecast", template); </script> </body> </html> в IE и FF на экран ничего не выводит! плиз помогите! |
Часовой пояс GMT +3, время: 00:44. |