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 时所有的值,不懂怎么来,哪位仁兄说下
<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 时所有的值,不懂怎么来,哪位仁兄说下
解决方案 »
- 请教一个.htaccess 重写规则
- 请问 preg_match('/^(.*)\[(.*)\](.*)$/', $filterValue, $matches)是什么意思阿,谢谢
- PHP 中的MVC怎么搭建?急急急!
- 如何识别网址结尾,自动补全“http://www.”的开头?
- 怎么样能够把一个变量和一个文本筐的内容传出去?
- 急急急....请问哪位大虾有用过GD做过类似于Execl里的统计图
- "/:(^[a-zA-Z]+\w{0,14}):/"为何不能匹配;开头和结尾、中间是字母开头的内容包含下划线数字的字符串?
- 为什么我的表格线不显示
- linux7.0下如何安装php
- php运行时间过长以后,就会出现错误。max_execution_time已经设置过了
- 如何最优化传递数据库对象?
- PHP网站程序员(上海)
遍历取最大值,不难啊取commend=1时所有的值也挺简单。
同样遍历,当commend=1时,取ad下所有值。放在数组里。有什么不明白的?
BTW:
1、commend这个单词是怎么来的?起个好点儿的名字
2、前面的帖子赶快结
260748026
和
$person = $xpath->query('/cps/ad/commend[. = "1 "]');
<?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;
?>
<?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);
?>