以文本方式查看主题

-  W3CHINA.ORG讨论区 - 语义网·描述逻辑·本体·RDF·OWL  (http://bbs.xml.org.cn/index.asp)
--  『 DOM/SAX/XPath 』  (http://bbs.xml.org.cn/list.asp?boardid=11)
----  才开始学DOM,有道题弄不明白,想请教大家!  (http://bbs.xml.org.cn/dispbbs.asp?boardid=11&rootid=&id=20718)


--  作者:rickhunter
--  发布时间:7/27/2005 11:40:00 AM

--  才开始学DOM,有道题弄不明白,想请教大家!
XML文档:
<?xml version="1.0" encoding="GB2312"?>
<地址薄>
 <客户 性别="男">
  <姓名>吴孟达</姓名>
  <电子邮件>Mengda@magicactor.com</电子邮件>
 </客户>
 <客户 性别="女">
  <姓名>白晶晶</姓名>
  <电子邮件>ghost@westcompany.com</电子邮件>
 </客户>
</地址薄>

现在我想在客户节点添加两个元素---“公司”和“联系电话”,其中“联系电话”含有“手机”和“办公电话”两个属性节点。
我写的文档如下:
<html>
   <body>
     <script language="javascript">
        var xmlDoc=new ActiveXObject("Msxml2.DOMDocument.4.0");
        xmlDoc.async=false;
        xmlDoc.load("client.xml");
        var personNode=xmlDoc.documentElement.childNodes[1];
        var node=xmlDoc.createNode(1,"公司","");
        var  node1=xmlDoc.createNode(1,"联系电话","");
          var node2=xmlDoc.createNode(2,"手机","");
        node2.text="手机";
    var node3=xmlDoc.createNode(2,"办公电话","");
    node3.text="办公电话";
        node.text="国际贸易公司";
        personNode.appendChild(node);
        personNode.appendChild(node1);
        personNode.chilNodes[1].appendChild(node2);
        window.alert(xmlDoc.documentElement.xml);
      </script>
   </body>
</html>
但不对,我该怎样改呢?


--  作者:Qr
--  发布时间:7/27/2005 11:55:00 AM

--  
把[]换为(),底层元素也不用createNode了,用createElement就可以,其它慢慢调试。
--  作者:rickhunter
--  发布时间:7/27/2005 10:23:00 PM

--  
我做了多次,还是没有结果,望大家指教!
--  作者:amlworkflow
--  发布时间:7/28/2005 11:42:00 AM

--  
不会吧?你的CreateNode函数好像写错了.
--  作者:rickhunter
--  发布时间:7/28/2005 7:29:00 PM

--  
是呀。我重新作了一下,但还是不行。
代码如下:
<html>
   <body>
     <script language="javascript">
        var xmlDoc=new ActiveXObject("Msxml2.DOMDocument.4.0");
        xmlDoc.async=false;
        xmlDoc.load("client.xml");
        var personNode=xmlDoc.documentElement.childNodes[1];
        var node=xmlDoc.createNode(1,"公司","");
        var  node1=xmlDoc.createNode(1,"联系电话","");
        var node2=xmlDoc.createNode(2,"手机","");
  var node3=xmlDoc.createNode(2,"办公电话","");
        node.text="国际贸易公司";
        personNode.appendChild(node);
        personNode.appendChild(node1);
   personNode.childNodes[3].attributes.setNameItem(node2);
        window.alert(xmlDoc.documentElement.xml);
      </script>
   </body>
</html>
--  作者:rickhunter
--  发布时间:7/29/2005 11:02:00 PM

--  
请高手指点
--  作者:rickhunter
--  发布时间:7/30/2005 11:48:00 PM

--  
我有点失望了
--  作者:Qr
--  发布时间:7/31/2005 9:27:00 AM

--  
http://bbs.xml.org.cn/dispbbs.asp?boardID=1&replyID=37233&ID=14794&skin=1
--  作者:rickhunter
--  发布时间:7/31/2005 5:23:00 PM

--  
谢谢楼主的帖子,那是我们老师的帖子,用的是另外的一种方法。
我想使用的是我这种方法,应该是可以行得通的。但现在不知道怎么会不成功。
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
78.125ms