用JAVASCRIPT实现操作以下xml:
<InterfaceData>
   <DataSource>
<TableGrid>
  <Table TableName="A" values="1"/>
  <Table TableName="B" values="2"/>
</TableGrid>
   </DataSource>
</InterfaceData>
1>.插入节点<Table TableName="C" values="3"/>
2>.取出节点TableName="B"的values值各位帮帮忙详细一点了

解决方案 »

  1.   

    1.XML如果在客戶端使用,是无法实现插入的。
    如果在ASP程序中使用VBScript脚本语言
    Set objXML = Server.CreateObject("Microsoft.XMLDOM")才可以。
      

  2.   

    你的JAVASCRIPT是runat=server麽?客户端是无法实现数据的插入更新这些操作的。
      

  3.   

    Set objXML = Server.CreateObject("Microsoft.XMLDOM")
    objXML.load(strSourceFile) brstr=chr(13)&chr(10)&chr(9)  XMLnode=brstr&"<list>"&brstr & _
    "<id>"&id&"</id>"&brstr & _
    "<username>"&name&"</username>"&brstr & _
    "</list>"&chr(13) set objXML2=Server.CreateObject("Microsoft.XMLDOM")
    objXML2.loadXML(XMLnode)
    set rootNewNode=objXML2.documentElement
    objRootlist.appendChild(rootNewNode)
    objXML.save(strSourceFile)米做过.net的xml操作。上面的代码是我做asp的时候写过的,可以实现插入新节点,希望对你有点帮助。
      

  4.   

    恩,还是要多谢你的了!
    最好是用.net做的了,难道用JAVASCRIPT就真的做不出俩的了?
      

  5.   

    JAVASCRIPT也可以,试试这个
    <html>
    <head>
    <script language="javascript">
    function opXml(){
      var doc = new ActiveXObject("MSXML.DOMDocument");
      doc.async = false;
      doc.loadXML("<Table TableName='C' values='3'/>");
      var tablegrid =xmlData.selectSingleNode("//TableGrid");  tablegrid.appendChild(doc.documentElement);
      alert(tablegrid.xml);}
    </script>
    </head>
    <xml id="xmlData">
    <InterfaceData>
       <DataSource>
    <TableGrid>
      <Table TableName="A" values="1"/>
      <Table TableName="B" values="2"/>
    </TableGrid>
       </DataSource>
    </InterfaceData>
    </xml>
    <body>
    <input type="button" onclick="opXml()" value="插入">
    </body>
    </html>
      

  6.   

    你这个好象就是直接提示一下了,我要的效果是真正的写进去了!
    1>.插入节点<Table TableName="C" values="3"/>
    2>.取出节点TableName="B"的values值
      

  7.   

    createTextNode 方法 
    ------------------------ 建立一个新的text 节点,并包含指定的数据。 基本语法: xmldocument.createTextNode(data); 

    说明:data 是一个代表新text 节点的字符串。一个新的text 节点被建立,但是没有加到文件树中。若要将节点加到文件树中,必须使用插入 方法,例如:insertBefore,replaceChild或appendChild。 使用范例: objNewTextNode = xmlDoc.createTextNode("This is a text node."); 
    alert(objNewTextNode.xml); getElementsByTagName 方法 
    -----------------------------
      

  8.   

    insertBefore 方法 
    --------------------- 在指定的节点前插入一个子节点。 基本语法: objdocument.ode = xmldocument.ode.insertBefore(newChild,refChild); 说明:newChild 是一个包含新子节点地址的对象,refChild 是参照节点的地址。新子节点被插到参照节点之前。如果refChild 参数没有包含 在内,新的子节点会被插到子节点列表的末端。 使用范例: objRefNode = xmlDoc.document.lement; 
    alert(xmlDoc.xml); 
    objNewNode = xmlDoc.createComment("This is a comment"); 
    xmlDoc.insertBefore(objNewNode, objRefNode); 
    alert(xmlDoc.xml);
      

  9.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    </HEAD>
    <BODY>
    </BODY>
    </HTML>
    <SCRIPT>
    var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.4.0");
    var currNode;
    xmlDoc.async = false;
    xmlDoc.resolveExternals = false;
    //xmlDoc.load("books.xml");
    var myxmlstring="<InterfaceData><DataSource><TableGrid><Table TableName='A' values='1'/><Table TableName='B' values='2'/></TableGrid></DataSource></InterfaceData>";
    xmlDoc.loadXML(myxmlstring);
    if (xmlDoc.parseError.errorCode != 0) {
       var myErr = xmlDoc.parseError;
       alert("You have error " + myErr.reason);
    } else {
    //插入节点;只是在内存里面插入了
    var currNode=xmlDoc.selectSingleNode("//InterfaceData/DataSource");
    var newnode=xmlDoc.createElement("Table");
    var newatt=xmlDoc.createAttribute("TableName");
    newatt.nodeValue='C';
    newnode.attributes.setNamedItem(newatt);
    newatt=xmlDoc.createAttribute("values");
    newatt.nodeValue='3';
    newnode.attributes.setNamedItem(newatt);
    currNode.appendChild(newnode);
    alert(xmlDoc.xml);
    //取得楼主要的值
    alert(currNode.childNodes(0).childNodes(1).attributes(1).nodeValue);
    }
    </SCRIPT>