помогите со скриптом
у меня есть 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, время: 20:30. |