cps.xml 
<?xml version="1.0" encoding="gb2312" ?> 
<cps> 
  <ad> 
  <id>1 </id> 
  <desc>简介 </desc> 
  <name>12 </name> 
</ad> 
<ad> 
  <id>2 </id> 
  <name>服务 </name> 
  <desc>推广 </desc> 
</ad> 
  .... 
</cps> 
          怎么取出id 中最大的值,因为我要插数据,取最大id+1才可以 
                  $dom = new DOMDocument; 
$dom->load('cps.xml'); 
$xpath = new DOMXPath($dom); 
$person = $xpath->query('/cps/ad/id'); 
                        foreach($ids as $e){ 
            var_dump ( $id = $e->firstChild->nodeValue);
            }
    上面的方法是获取所有的ID的值,怎么取得最大哪个啊,用哪个方法了....

解决方案 »

  1.   

    你既然可以遍历出所有值了,为什么不会取最大值?
    ..
    ..
    ..
    ..
    $max = 0;
    foreach($ids as $e){
       $e->firstChild->nodeValue > $max && $max = $e->firstChild->nodeValue;
    }
    echo $max; 
      

  2.   

    thank you very much!!
      没有用过XML,
      

  3.   


    $dom = new DOMDocument;
    $dom->load('cps.xml');
    $xpath = new DOMXPath($dom);
    $person = $xpath->query('/cps/ad/id');
    //本人认为数据量越大,数组速度越占优势.
    $xmlid=array();
       foreach($ids as $e){
           $xmlid[]=$e->firstChild->nodeValue;
        } 
    sort($xmlid);
    $len=count($xmlid)-1;
    echo  $xmlid[$len];
      

  4.   

    给某个几点设个属性 为最大值添加时候 只要append node 即可
      

  5.   

    如果只是取最大值的话用不上排序吧,效率太低了,设个变量
    $maxId = 0;
    if($id > $maxId) $maxId = $id;