首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >根据php中的特定属性更新xml文件中的单个节点。

根据php中的特定属性更新xml文件中的单个节点。
EN

Stack Overflow用户
提问于 2017-01-05 23:46:23
回答 0查看 44关注 0票数 1

我有一个名为test.xml的xml文件,结构如下。

代码语言:javascript
复制
<?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,那么id3marker节点的3属性应该为7,并且文件应该被保存。我不想因为一些问题而重写整个文件,只想更新一个属性。

我试过了,但我觉得它离正确的答案太远了。有人能帮上忙吗?

代码语言:javascript
复制
$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' );
EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41489077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档