属性是固定的,但是修改的值是用PHP语言修改,类已经写好了,所以不能用正则去修改。PHP修改是用replace方法,直接替换了。我想读取出当前属性,然后替修改值时再替换,不过写的很次,而且也没成功。~~~

解决方案 »

  1.   


    $doc = new DOMDocument; 
    $doc->load('test.xml');
    $users = $doc->documentElement->getElementsByTagName('user');
    foreach($users as $user) 
    {
    $purviews = $user->getElementsByTagName('purview');
    $purview = $purviews->item(0);

    $tmpNode = $purview->cloneNode();
    $tmpNode->nodeValue = "xxx";
    $tmpNode = $purview->parentNode->appendChild($tmpNode);
    $purview->parentNode->replaceChild($tmpNode,$purview);
    $doc->save("test1.xml"); 

      

  2.   

    <?php
    $xmlDoc = new DOMDocument();
    $xmlDoc->load("data.xml");
    $xml = new SimpleXMLElement($xmlDoc->saveXML());
    $xml->administration->adminuser->user->purview = 'xxx';
    file_put_contents('xxx.xml', $xml->asXML());
    ?>
      

  3.   

    $xml = new SimpleXMLElement(file_get_contents('data.xml'));
    $xml->administration->adminuser->user->purview = 'xxx';
    file_put_contents('xxx.xml', $xml->asXML());
      

  4.   

    $xml = simplexml_load_file('test.xml');
    $xml->administration->adminuser->user->purview = 'xxx';
    file_put_contents('xxx.xml', $xml->asXML());
      

  5.   

    谢谢,不过还是8楼的正解。用DOM操作。我正在修改他给的函数到我用的里面。先谢谢了。弄好了给分
      

  6.   

    呵呵。老面孔了。cloneNode();GOOD。但是为什么我总找不到这样的函数,还是我学习方法不对,只会瞎想~~~先读再往里折腾的。我去调成我要的形式,弄完加分。要是有空,顺便给本菜鸟介绍个好的学习方法。我很想独立弄好这些~~~
      

  7.   

    9,11楼的方法也是可行的,呵呵.
    PHP手册呗.
      

  8.   

    如果服务器不是自己的,php4就比较麻烦,php5操作xml使用dom也不是很难,只不过php手册对函数很清数,对"对象"很糊.还是msdn看的爽.希望以后能改进.
      

  9.   

    他没说,因为他提过好几个关于dom操作的帖子.