我的一个js程序, 读取本地xml文件的;//读取xml文件
xmlDoc = readXML("test.xml"); //语句1
//取其中一个结点的属性
xmlDoc.getElementsByTagName('number')[0].getAttribute("value")//语句2现在的问题是:
1.在ie中可完好运行
2.在ff中,用firebug单步调试 或是 在 语句1 和 语句2 中间加上alert("xxxx"), “拖延”一段时间 也可正常运行
3.在ff中, 直接运行, 报错 xmlDoc.getElementsByTagName("number")[0] is undefined类似的问题碰到过几次,请教在ff中应该如何解决
xmlDoc = readXML("test.xml"); //语句1
//取其中一个结点的属性
xmlDoc.getElementsByTagName('number')[0].getAttribute("value")//语句2现在的问题是:
1.在ie中可完好运行
2.在ff中,用firebug单步调试 或是 在 语句1 和 语句2 中间加上alert("xxxx"), “拖延”一段时间 也可正常运行
3.在ff中, 直接运行, 报错 xmlDoc.getElementsByTagName("number")[0] is undefined类似的问题碰到过几次,请教在ff中应该如何解决
readXML是怎样的
就是不明白ff什么时候算是加载完成~, 用setTimeout也不顶用, 一定要alert(); var xmlDoc;
if(window.ActiveXObject)
{
xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
xmlDoc.async = false;
xmlDoc.load(xmlFile);
}
else if (document.implementation&&document.implementation.createDocument)
{
xmlDoc = document.implementation.createDocument('', '', null);
xmlDoc.load(xmlFile);
}
else
{
return null;
}
return xmlDoc;
var xmlDoc;
if(window.ActiveXObject)
{
xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
xmlDoc.async = false;
xmlDoc.load(xmlFile);
}
else if (document.implementation&&document.implementation.createDocument)
{
xmlDoc = document.implementation.createDocument('', '', null);
xmlDoc.async = false;
xmlDoc.load(xmlFile);
}
else
{
return null;
}
return xmlDoc;
//取其中一个结点的属性
xmlDoc.getElementsByTagName('number')(0).getAttribute("value")//语句2
這樣試一下
function loadXML(xmlFile)
{
var xmlDoc;
if(window.ActiveXObject)
{
xmlDoc = new window.ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.load(xmlFile);
}
else if(document.implementation&&document.implementation.createDocument)
{
xmlDoc = document.implementation.createDocument('','',null);
xmlDoc.async = false;
xmlDoc.load(xmlFile);
}
else return null;
return xmlDoc;
}
xmlDoc = loadXML("test.xml");
books = xmlDoc.getElementsByTagName('books');book = xmlDoc.getElementsByTagName('book');
for(var i=0;i<book.length;i++)
{
t = book[i].getElementsByTagName('title')[0].firstChild.nodeValue;
alert(t);
}</script>------
test.xml<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<books xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<book>
<title>MySQL Bible</title>
<author>Steve Suehring</author>
<isbn>9780764549328</isbn>
<publisher>Wiley Publishing Inc.</publisher>
</book>
<book>
<title>JavaScript Step by Step</title>
<author>Steve Suehring</author>
<isbn>9780735624498</isbn>
<publisher>Microsoft Press</publisher>
</book>
</books>