cps.xml
<cps>
   <ad id="1">
  <name>性福</name> 
    <desc>推广</desc> 
  <commend>0</commend> 
  </ad>
<ad id="2">
  <name>用具</name> 
  <desc>简介</desc> 
  <commend>0</commend> 
  </ad>
- <ad id="24">
  <name>主页</name> 
   <desc>简单</desc> 
   <commend>1</commend> 
  </ad>
   ....
</cps>
        想要获取ad属性id的最大值,和当commend=1 时所有的值,不懂怎么来,哪位仁兄说下

解决方案 »

  1.   

    你不是前两天问过了吗?
    遍历取最大值,不难啊取commend=1时所有的值也挺简单。
    同样遍历,当commend=1时,取ad下所有值。放在数组里。有什么不明白的?
    BTW:
    1、commend这个单词是怎么来的?起个好点儿的名字
    2、前面的帖子赶快结
      

  2.   

    baiyuxiong老兄能不能加下我QQ:
        260748026
      

  3.   

    套你原来的帖子$person = $xpath->query('/cps/ad/@id'); 

    $person = $xpath->query('/cps/ad/commend[. = "1 "]'); 
      

  4.   

    取最大ID:
    <?php   
    // 首先要建一个DOMDocument对象   
    $xml = new DOMDocument();   
      
    // 加载Xml文件   
    $xml->load("cps.xml");   
      
    // 获取所有的ad标签   
    $adDom = $xml->getElementsByTagName("ad");   
    $maxid=0;
      
    // 循环遍历post标签   
    foreach($adDom as $ad){   
     
     $var1=$ad->attributes;
     $id= $var1->getNamedItem("id")->nodeValue;
        
    if($id>$maxid)
    {$maxid=$id;}
    }   
    echo $maxid;
    ?>  
      

  5.   


    <?php   
    // 首先要建一个DOMDocument对象   
    $xml = new DOMDocument();   
    // 加载Xml文件   
    $xml->load("cp.xml");   
    // 获取所有的ad标签   
    $adDom = $xml->getElementsByTagName("ad");   
    $maxid=0;
    $result=array();
    $index=0;// 循环遍历ad标签   
    foreach($adDom as $ad){
    //得到ad标签里的属性列表
    $var1=$ad->attributes;
    //得到id属性的值
    $id= $var1->getNamedItem("id")->nodeValue;
    //得到ad的子节点
    $commend = $ad->getElementsByTagName("commend");
    $name = $ad->getElementsByTagName("name");
    $desc = $ad->getElementsByTagName("desc");
    //子节点的值
    $commendId = $commend->item(0)->nodeValue;
    $nameValue = $name->item(0)->nodeValue;
    $descValue = $desc->item(0)->nodeValue;
    //将commend ID==1的存在数组里
    if($commendId==1)
    {
    $result[$index][0]=$nameValue;
    $result[$index][1]=$descValue;
    $result[$index][2]=$commendId;
    $index++;
    }
    //取最大值
    if($id>$maxid)
    {$maxid=$id;}
    }echo "Max ID is: ".$maxid."<br />";print_r($result);
    ?>