php修改xml节点值,修改xml文件值的问题

我想改变question为22222的值,这个值是在前台传入的,不过我不知道应该如何传,应该如何操作了?最好是用DOMDocument类来操作

3 admin 111111 A 11 B 22 C 33 D 44 22222 A 22 B 11 C 44 D 33 33333 A 444 B 222 C 333 D 2111

回复讨论(解决方案)

你想怎么改?

$fn = '你的xml文件名';$tag = 'question'; //待修改的节点名$val = '22222'; //待修改的节点值,和 $tag 一起用于定位$replace = 'xxx'; //修改后的值$xml = simplexml_load_file($fn);$p = $xml->xpath("//{$tag}[.='$val']");$p[0][0] = $replace;$xml->asXML($fn); //写回去

PHP code?12345678$fn = '你的xml文件名';$tag = 'question'; //待修改的节点名$val = '22222'; //待修改的节点值,和 $tag 一起用于定位$replace = 'xxx'; //修改后的值$xml = simplexml_load_file($fn);$p = $xml->xpath("//{$tag}[.=……

$p[0][0]是什么意思啊?

xpath 返回的是所有符合条件节点数组(是一个二维的对象数组)

$p [0][0] 表示第一个匹配到的节点

$p[0] [0] 表示节点中的第一个元素

xpath 返回的是所有符合条件节点数组(是一个二维的对象数组)

$p[0][0] 表示第一个匹配到的节点

$p[0][0] 表示节点中的第一个元素

那按照你这样说的话不就是匹配了question为111111,不是question为222222吧

$xml->xpath("//{$tag}[.='$val']");

实际执行的是

$xml->xpath("//question[.='22222']");

所以对于你的数据,只会匹配到 22222

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值