我有一个名为test.xml的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请求,希望将test.xml中的signal属性加1。
例如,如果我发送id=3,那么id为3的marker节点的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' );https://stackoverflow.com/questions/41489077
复制相似问题