php simplexml获得最大值

时间:2011-07-21 11:41:48

标签: php xml xpath simplexml max

如何从现有的xml文件(SimpleXml)中获取最高的现有guid值。

xml-structure示例:

<xml blabla>
 <blog name="">
  <post>
   <guid>3</guid>
   <author></author>
   <content>...</content>
  </post>
  <post>
   <guid>1</guid>
   <author></author>
   <content>...</content>
  </post>
 </blog>

我尝试了以下内容($ xml是一个SimpleXml对象)     MAX($ XML的&GT;的XPath(/博客/职位/ GUID)); 但这似乎没有数组...

有什么建议吗?有没有办法按xpath处理它?我的谷歌搜索没有成功。

1 个答案:

答案 0 :(得分:1)

您可以使用array_map('intval'... ...用“理解”的东西来提供max()。

<?php
$xml = getDoc();
$ns = $xml->xpath('//blog/post/guid');
$ns = array_map('intval', $ns);
echo max($ns);

function getDoc() {
    return new SimpleXMLElement( <<< eox
<xml>
 <blog name="">
  <post>
   <guid>3</guid>
   <author></author>
   <content>...</content>
  </post>
  <post>
   <guid>1</guid>
   <author></author>
   <content>...</content>
  </post>
  <post>
   <guid>99</guid>
   <author></author>
   <content>...</content>
  </post>
  <post>
   <guid>47</guid>
   <author></author>
   <content>...</content>
  </post>
 </blog>
</xml>
eox
    );
}