$dom=new domdocument('1.0');
$dom->load('ceshi.xml');
$root=$dom->getelementsbytagname('online');
$root=$root->item(0);
$userid=$root->getelementsbytagname('userid');
foreach($userid as $b)
{
foreach($b->attributes as $attr){
$value=$attr->nodevalue;
$name[].=$attr->nodename;
{if($value==xiao)
{
print_r($name);
}
}
}
}
$dom->save('ceshi.xml');
来个xml
xiaxin
rwet
gaoji
问题是按上面那种写法只循环label=xiao的那一行,也就是只返回那一行nodename值。。
要是按上面写的话返回的是第一行第二行一起返回的nodename值。。我也没想出来怎么改~~新手求教啊!!!
------解决方案--------------------
本帖最后由 xuzuning 于 2013-04-20 10:25:31 编辑
这个意思?$dom=new domdocument('1.0');
$dom->load('ceshi.xml');
$root=$dom->getelementsbytagname('online');
$root=$root->item(0);
$userid=$root->getelementsbytagname('userid');
foreach($userid as $b) {
if($b->attributes->getnameditem('label')->nodevalue == 'xiao') {
foreach($b->attributes as $attr){
$res[$attr->nodename] = $attr->nodevalue;
}
print_r($res);
}
}
array
(
[time] => 2007-06-13 13:22:15
[pp] => dasdsa
[label] => xiao
[ip] => dasdsa
)
