来自php中XML文件节点的最大值

时间:2016-11-21 10:12:29

标签: xml max

我希望能够从php中的XML文件的节点中检索最大值。由于我对php和XML文件的了解有限,我无法理解为什么这不起作用:

foreach ($xml->children() as $output) {
  if ($output->VALUE>0) {
    echo 'max($output->VALUE)';
  }
}

我的XML文件的简化版本如下所示:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<PROFILES xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <SECTION>
    <MODE>ON</MODE>
    <VALUE>5</VALUE>
    <GAMES>10</GAMES>
  </SECTION>
  <SECTION>
    <MODE>ON</MODE>
    <VALUE>7</VALUE>
    <GAMES>8</GAMES>
  </SECTION>
  <SECTION>
    <MODE>ON</MODE>
    <VALUE>3</VALUE>
    <GAMES>4</GAMES>
  </SECTION>
</PROFILES>

应在以下内容中检索最大值:

  • 5
  • 7
  • 3

1 个答案:

答案 0 :(得分:0)

假设您在名为$xmlstr的字符串中包含XML,则可以使用:

$xml = new SimpleXMLElement($xmlstr);
$values = [];
foreach ($xml->SECTION as $section) {
    array_push($values, intval($section->VALUE));
}
echo max($values);