怎么从XML中取出最大值

fengyumanlou 2009-11-30 04:08:26
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/cps_ads/ad');
foreach($ids as $e){
echo $id = $e->firstChild->nodeValue; 这个写法不行啊
不知道怎么写法的,大哥大姐帮帮忙?
...全文
189 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hzz34177356 2010-01-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 baiyuxiong 的回复:]
要取ID的最大值,你肯定要解析XML文件的。
如果文件很大,速度肯定受影响
建议增加一个值,用来保存当前最大ID比较妥当。

你的写法怎么不行?有什么错?取到的ID是什么东西?
[/Quote]

哇~霎时间让我眼睛一亮~好办法呀~!!!
alandy 2009-11-30
  • 打赏
  • 举报
回复

$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];

lonelyriver 2009-11-30
  • 打赏
  • 举报
回复
学习
fengyumanlou 2009-11-30
  • 打赏
  • 举报
回复
噢...,jnkc你的方法还好,怎么查出<cps maxid="1234">
这个值的?
江南昆虫 2009-11-30
  • 打赏
  • 举报
回复
还是在<cps>加个属性吧<cps maxid="1234">
每次添加时查找并更新这个maxid

如果你的id是连续并且不会被删除的,那也可以查一下<ad>的数目作为最大id
fengyumanlou 2009-11-30
  • 打赏
  • 举报
回复
噢....知道错误在哪里了

$dom = new DOMDocument;
$dom->load('cps.xml');
$xpath = new DOMXPath($dom);
$person = $xpath->query('/cps/ad/id');

foreach($person as $e){
echo $id = $e->nodeValue;
}
$id 是个对象,不能用echo郁闷啊
xuzuning 2009-11-30
  • 打赏
  • 举报
回复
cps_ads 节点在哪里???

$dom = new DOMDocument;
$dom->load('cps.xml');
$xpath = new DOMXPath($dom);
$person = $xpath->query('/cps/ad/id');

foreach($person as $e){
echo $id = $e->nodeValue;
}
fengyumanlou 2009-11-30
  • 打赏
  • 举报
回复
我这里一个结果都没有输出,xml文件是有数据的
codeyell-com 2009-11-30
  • 打赏
  • 举报
回复
要取ID的最大值,你肯定要解析XML文件的。
如果文件很大,速度肯定受影响
建议增加一个值,用来保存当前最大ID比较妥当。

你的写法怎么不行?有什么错?取到的ID是什么东西?

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧