首页 > 后端开发 > php教程 > 新手发个php修改XML的有关问题!

新手发个php修改XML的有关问题!

WBOY
发布: 2016-06-13 11:21:32
原创
763 人浏览过

新手发个php修改XML的问题!!

<br />$dom=new DOMDocument('1.0');<br />$dom->load('ceshi.xml');<br />$root=$dom->getElementsByTagName('online');<br />$root=$root->item(0);<br />$userid=$root->getElementsByTagName('userid');<br />foreach($userid as $b)<br />{<br />  foreach($b->attributes as $attr){ <br /><br />$value=$attr->nodeValue;<br />$name[].=$attr->nodeName;<br />{if($value=="xiao")<br />{  <br />   print_r($name);   <br /><br />}<br /><br /> }<br />}<br /><br />}<br />$dom->save('ceshi.xml');<br /><br />
登录后复制


来个xml
<br /><br /><?xml version="1.0"?><br /><online> <br /><userid time="2007-06-13 11:20:08" ip="wangqile" label="wang">xiaxin</userid> <br /><userid time="2007-06-13 13:22:15" pp="dasdsa" label="xiao" ip="dasdsa">rwet</userid> <br /><userid time="2007-06-13 17:17:00" ip="dasdsa" label="ji"> gaoji</userid> <br /></online><br /><br /><br />
登录后复制


问题是按上面那种写法只循环label="xiao"的那一行,也就是只返回那一行nodename值。。
要是按上面写的话返回的是第一行第二行一起返回的nodename值。。我也没想出来怎么改~~新手求教啊!!!


------解决方案--------------------
本帖最后由 xuzuning 于 2013-04-20 10:25:31 编辑

这个意思?
$dom=new DOMDocument('1.0');<br />$dom->load('ceshi.xml');<br />$root=$dom->getElementsByTagName('online');<br />$root=$root->item(0);<br />$userid=$root->getElementsByTagName('userid');<br />foreach($userid as $b) {<br />  if($b->attributes->getNamedItem('label')->nodeValue == 'xiao') {<br />    foreach($b->attributes as $attr){<br />      $res[$attr->nodeName] = $attr->nodeValue;<br />    }<br />    print_r($res);<br />  }<br />}<br />
登录后复制
Array
(
    [time] => 2007-06-13 13:22:15
    [pp] => dasdsa
    [label] => xiao
    [ip] => dasdsa
)

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板