注册 登录
编程论坛 JavaScript论坛

JavaScript读取xml文档 的问题

hxf474704251 发布于 2010-05-14 12:22, 781 次点击
<script language="javascript" for="window" event="onload">
 var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  xmlDoc.async="false";
  xmlDoc.loadXML('cs.xml');


if(xmlDoc!=null)
{
document.write(xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue)
}
<script>
红色的代码没对象是怎么回事?
3 回复
#2
gupiao1752010-05-14 16:16
xmlDoc.async="false";改为xmlDoc.async=false;去掉分号试试!
另外你的XML解析只适合IE,如果是其他浏览器不行!
document.write(xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue);
必须保证XML里有to这个标签!
给你发个简单标准型的XML以做参考!
<?xml version="1.0" encoding="gb2312"?>
<books>
   <book>
      <id>1</id>
      <na>js教材</na>
      <tt>2005</tt>
   </book>
   <book>
      <id>2</id>
      <na>vb教材</na>
      <tt>2006</tt>
   </book>
 </books>
JS读取代码为:
<script language="javascript" for="window" event="onload">
var xmlDoc;
try
  {
  //建立IE的XML解析;
  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  }
  catch(e)
  {
// 建立XML解析,适合Mozilla, Firefox, Opera, etc.
     xmlDoc=document.implementation.createDocument('', '', null);
  }
   xmlDoc.async=false;
  xmlDoc.load('cs.xml');

 var msg="";
if(xmlDoc!=null)
{
      document.write(xmlDoc.getElementsByTagName("name")[0].childNodes[0].nodeValue);//读取第一条数据的name标签下的文本内容!
}
</script>
#3
gupiao1752010-05-14 16:19
不好意思,更正一下:
if(xmlDoc!=null)
{
      document.write(xmlDoc.getElementsByTagName("na") [0].childNodes[0].nodeValue);//此处na和cs.xml文件里的na对应,否则会报错,不存在!
}
</script>
#4
hxf4747042512010-05-14 17:59
谢谢,我运行出来。能不能加我qq:474704251。刚接触JavaScript,有很多问题啊。
1