var m = new ActiveXObject("MSXML2.DOMDocument");
m.loadXML('<Jobs><Jobdata name="Joe"><job>Programmer</job><department>Engineering</department><cubicle>5E</cubicle></Jobdata><Jobdata name="Erin"><job>Designer</job><department>Marketing</department><cubicle>9M</cubicle></Jobdata></Jobs>');
var b = m.getElementsByTagName("Jobdata");
for(var i=0;i<b.length;i++)
if (b[i].childNodes[0].childNodes[0].nodeValue == "Programmer")
b[i].childNodes[1].childNodes[0].nodeValue = "software Support";
alert(m.xml);

解决方案 »

  1.   

    假设xml文件保存为xmlsrc.xml:
    ------------------------------
    var dom = new ActiveXObject("MSXML.DOMDocument");
    dom.load("xmlsrc.xml");
    var oNodes = dom.selectNodes("//Jobdata[job='Programmer']");
    var i;
    for(i=0;i<=oNodes.length-1;i++)
    {
    oNodes[i].childNodes[1].text='software Support';
    }
      

  2.   

    这样改了之后,如何保存呀?我的source.xml文件的内容还是没有变呀???
      

  3.   

    dom.save(path);我用的是用DOM的作法,我楼下的是用xpath
      

  4.   

    dom.save("source.xml")
    不管用呀。
      

  5.   

    <html>
    <body>
    <script language="javascript">
    var m = new ActiveXObject("MSXML2.DOMDocument");
    m.loadXML('<Jobs><Jobdata name="Joe"><job>Programmer</job><department>Engineering</department><cubicle>5E</cubicle></Jobdata><Jobdata name="Erin"><job>Designer</job><department>Marketing</department><cubicle>9M</cubicle></Jobdata></Jobs>');
    var b = m.getElementsByTagName("Jobdata");
    for(var i=0;i<b.length;i++)
    if (b[i].childNodes[0].childNodes[0].nodeValue == "Programmer")
    b[i].childNodes[1].childNodes[0].nodeValue = "software Support";
    alert(m.xml);
    dom.save("source.xml")
    </script>
    </body>
    </html>
    运行之后,在IE的状态栏上报:“已完毕,但网页上有错”
      

  6.   

    本地是没有这个权限,用HTA可以,或在服务端
      

  7.   

    不好意思,请问 HTA什么意思呀?服务端又是什么意思 呀?
      

  8.   

    fason(阿信) 
    怎么个用法呀?我今天17:00以前必须交上去,麻烦你了。你有msn吗?我的是:[email protected]
      

  9.   

    <HTA:APPLICATION />
    <script>
    <!--
    var m = new ActiveXObject("MSXML2.DOMDocument");
    m.loadXML('<Jobs><Jobdata name="Joe"><job>Programmer</job><department>Engineering</department><cubicle>5E</cubicle></Jobdata><Jobdata name="Erin"><job>Designer</job><department>Marketing</department><cubicle>9M</cubicle></Jobdata></Jobs>');
    var b = m.getElementsByTagName("Jobdata");
    for(var i=0;i<b.length;i++)
    if (b[i].childNodes[0].childNodes[0].nodeValue == "Programmer")
    b[i].childNodes[1].childNodes[0].nodeValue = "software Support";
    m.save("d:\\source.xml")
    alert('建立成功')
    //-->
    </script>将上面存为test.hta文件,打开执行
      

  10.   

    噢 非常感谢。如果有时间再麻烦看看这个.
    http://expert.csdn.net/Expert/topic/3044/3044424.xml?temp=.7782862
      

  11.   

    Try..<script>
    var dom = new ActiveXObject("MSXML.DOMDocument");
    dom.load("source.xml");
    var oNodes = dom.selectNodes("//Jobdata[job='Programmer']");
    var i;
    for(i=0;i<=oNodes.length-1;i++)
    {
    oNodes[i].childNodes[1].text='software Support';
    }
    WriteToFile(dom.xml,"C:\\source.xml")
    function WriteToFile(s,file)
    {
        var fso,f;
        var ForReading = 1,ForWriting = 2;
        fso = new ActiveXObject("Scripting.FileSystemObject");
        f = fso.OpenTextFile(file,ForWriting,true);
        f.Write(s);
        f.Close();
    }
    </script>
      

  12.   

    <script>
    var dom = new ActiveXObject("MSXML.DOMDocument");
    dom.load("source.xml");
    var oNodes = dom.selectNodes("//Jobdata[job='Programmer']");
    var i;
    for(i=0;i<=oNodes.length-1;i++)
    {
    oNodes[i].childNodes[1].text='software Support';
    }
    WriteToFile(dom.xml,"C:\\source.xml")
    function WriteToFile(s,file)
    {
        var fso,f;
        var ForReading = 1,ForWriting = 2;
        fso = new ActiveXObject("Scripting.FileSystemObject");
        f = fso.OpenTextFile(file,ForWriting,true);
        f.Write(s);
        f.Close();
    }
    </script>