大家好 请教大家一个问题我有一个 xml 文件 例如:<collection>
  <category>
     <record id="first"> record1 </record>
  </category>
<collection>我想在一个javascript 文件里 把这个xml文件里 record 的属性 id的值 从 first 改成 last 
请问我应该怎么做呢? 如果用到ajax 那么怎么写 请指教。 先谢谢大家!

解决方案 »

  1.   

    getAttribute/setAttribute/nodeValue和DOM操作差不多
      

  2.   

    server side javascript 或者可以
      

  3.   


    你把网页的源文件打开来看下,那不就是xml文件么
      

  4.   

    不知为何刚发帖时 内容给我删减了 原问题如下:大家好啊!问题如下:xml 文件类似如下:
    <collection>
        <record name="1"> r1 </record>
    </collection>javscript code 类似如下:我先通过ajax的请求 访问到服务器端的 xml 文件
         var xmlhttp;
         if (window.XMLHttpRequest)
        {// code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp=new XMLHttpRequest();
        }
         else
        {// code for IE6, IE5
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
         
     xmlhttp.onreadystatechange=function()
              if (xmlhttp.readyState==4 && xmlhttp.status==200)
              {
        xmlDoc=xmlhttp.responseXML;
        x=xmlDoc.getElementsByTagName("record");
                 x[0].setAttribute("name", "99");  // 我想把record的属性 name的值 从 1 变成 99
                 //其实我已经成功了 在这我x[0].getAttribute("name") 试了 值是99
              }     xmlhttp.open("GET", "../../sungrant2/model/storage/sungrant.xml" ,true);
         xmlhttp.send();
    }我用完node.setAttribute("name", "99")后 name的属性值已经从1变成99了, 但是我刷新过后 重新 node.getAttribute("name") 里面的值却还是没改之前的值, 这说明 xml 文件里面根本没有被修改。 这是怎么回事呢? 如果我想彻底改变 xml里的内容 刷新过后是改变的值 我应该怎么做呢? 请大家帮帮我。有人说 一个是客户端一个是服务器端 不能改 但是能读出来 就可以改啊 
    还有人说 有什么 .save() 如果这个可以的化 能不能根据我的例子说详细点? 谢谢各位大哥哥大姐姐们, 大叔大伯了。。
      

  5.   

    xmlhttp.open("GET", "../../sungrant2/model/storage/sungrant.xml?"+new Date().getTime() ,true);加时间戳防止缓存
      

  6.   

    看错了。你需要AJAX通知后台,由后台执行修改XML文件的工作