IE浏览器是否不支持XML DOM中的getElementById()方法和hasAttributes()方法?

smallfools 2008-04-18 06:43:44
写了个程序,其中使用到了XML DOM中的getElementById()方法,但该程序在IE中不能浏览,在其他浏览器中可以。是不是IE浏览器不支持该方法?
另外,IE浏览器是不是也不支持hasAttributes()?
程序如下:

<html>
<head>
<title></title>
<meta http-equiv="content-type" content="text/html;charset=gb2312">
<script language="javascript" type="text/javascript">
<!--
function loadXmlStr(strText)
{
var _xmlDoc = null;

if(window.ActiveXObject)
{
_xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
_xmlDoc.async = false;
try
{
_xmlDoc.loadXML(strText);
}
catch(ex)
{
alert(e.message);
_xmlDoc = null;
}
}
else
{
try
{
var domParser = new DOMParser();
_xmlDoc = domParser.parseFromString(strText,"text/xml");
}
catch(ex)
{
alert(e.message);
_xmlDoc = null;
}
}
return _xmlDoc;
}

var str = "";
str += "<!DOCTYPE 唐诗[";
str += "<!ELEMENT 唐诗 (Item*)>";
str += "<!ELEMENT Item (诗名,作者,内容)>";
str += "<!ATTLIST Item id ID #REQUIRED>";
str += "<!ELEMENT 诗名 (#PCDATA)>";
str += "<!ELEMENT 作者 (#PCDATA)>";
str += "<!ELEMENT 内容 (#PCDATA)>";
str += "]>";
str += "<唐诗>";
str += "<Item id='01'>";
str += "<诗名>静夜思</诗名>";
str += "<作者>李白</作者>";
str += "<内容>床前明月光,疑是地上霜。举头望明月,低头思故乡。</内容>";
str += "</Item>";
str += "</唐诗>";

var xmlDoc = loadXmlStr(str);
if (xmlDoc!=null)
{
var itemNode = xmlDoc.getElementById("01");
if (itemNode!=null)
{
document.write(itemNode.getAttribute("id"),":");
document.write("《", itemNode.childNodes[0].childNodes[0].nodeValue,"》");
document.write("--", itemNode.childNodes[1].childNodes[0].nodeValue,"<br>");
}
else
{
document.write("没有");
}
}
else
{
alert("您的浏览不支持XML解析器或加载XML文件时出错。");
}
-->
</script>
</head>
<body>
</body>
</html>
...全文
336 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
meiZiNick 2008-05-01
  • 打赏
  • 举报
回复
不明LZ在说什么
2303191 2008-04-19
  • 打赏
  • 举报
回复
我帮你调试了一会,貌似dtd的定义有问题,但我也没找到问题,等你解决了别忘了回贴说明一下吧

8,906

社区成员

发帖
与我相关
我的任务
社区描述
XML/XSL相关问题讨论专区
社区管理员
  • XML/XSL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧