新手发个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
)
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31