1
次の構造を持つtest.xmlという名前のxmlファイルがあります。PHPの特定の属性に応じてxmlファイルの単一ノードを更新
<?xml version="1.0"?>
<markers>
<marker id="1" name="12" signal="23"/>
<marker id="2" name="12" signal="5"/>
<marker id="3" name="12" signal="6"/>
<marker id="4" name="12" signal="0"/>
</markers>
私はID
を送った私のサーバーコードにAJAX要求を行うと、私はその後、のsignal
属性をid=3
を送信する場合、例えば、1
によってtest.xml
にsignal
属性を増やしたいですid
が3
のノードは7
になり、ファイルを保存する必要があります。 いくつかの問題のためにファイル全体を書き直したいのではなく、属性を更新するだけです。
私はこれを試しましたが、正しい答えからは遠いと思います。誰も助けることができますか?
$id=$_POST['id'];
$xml = new SimpleXMLElement('test.xml');
foreach($xml->xpath('marker') as $xml_row){
if($xml_row->attributes('id') == $id){
$xml_row->attr('signals ') = $xml_row->attributes('signals') + 1;
}
}
$xml->saveXML('test.xml');
動作しませんか?例外はありますか? – Rabban
内部サーバーエラー500 – DevMan
を取得しました。error.logにエラーを記録する必要があります。投稿すると役立ちます。 – Tom