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; 这个写法不行啊
不知道怎么写法的,大哥大姐帮帮忙?
<?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; 这个写法不行啊
不知道怎么写法的,大哥大姐帮帮忙?
如果文件很大,速度肯定受影响
建议增加一个值,用来保存当前最大ID比较妥当。你的写法怎么不行?有什么错?取到的ID是什么东西?
$dom->load('cps.xml');
$xpath = new DOMXPath($dom);
$person = $xpath->query('/cps/ad/id'); foreach($person as $e){
echo $id = $e->nodeValue;
}
$dom->load('cps.xml');
$xpath = new DOMXPath($dom);
$person = $xpath->query('/cps/ad/id'); foreach($person as $e){
echo $id = $e->nodeValue;
}
$id 是个对象,不能用echo郁闷啊
每次添加时查找并更新这个maxid如果你的id是连续并且不会被删除的,那也可以查一下<ad>的数目作为最大id
这个值的?
$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];