
[code]

    <Alert>
       name=‘mmm’ 
        hope=‘kk’
        <test>
           Name=’kkm’ 
         </test>
    </Alert>
    
[/code]

[code]

    $str = “test”;
    $fileName = “test-fileName”;
    $xml = simplexml_load_file( sampleXml);
    (String)$xml->Alert->attribute()->hope = $str;
    $xml->saveXML($fileName);
    
[/code]

要素取得はできるんですが、書き換えができないようで。。。  
何かいい方法、知らないでしょうか？

パーミッションの権限は書き込みも読み込みもできています。


CC BY-SA 3.0
2017-11-09T06:28:37.387
39450
2017-11-11T12:05:56.220
2017-11-09T06:34:34.507
76
19310
question
php xml
XMLファイルの上書き


XMLが体裁をなしていないですが、このフォーマットのままhopeの値を書き換えたければ、Alertのテキストを取得して、文字列置換をするなり、キーバリューのフォーマットとして別途パースするなりの必要があります。

もし、もう少しXMLらしく書き直してよいのであれば、一例として、以下のコードでhopeの書き換えは可能です。

[code]

    <?php
        $str = 'test';
        $fileName = './new.xml';
        $xml = simplexml_load_file('./sample.xml');
        (String)$xml->alert->attributes()->hope = $str;
        $xml->saveXML($fileName);
    ?>
    
[/code]

* * *
[code]

    <?xml version="1.0"?>
    <root>
      <alert hope="kk">
      </alert>
    </root>
    
[/code]


CC BY-SA 3.0
2017-11-09T15:04:16.787
39465
2017-11-11T12:05:56.220
2017-11-11T12:05:56.220
26047
26047
39450
answer