【发布时间】:2019-09-17 18:43:39
【问题描述】:
我有一个像这样的 xml 表:
<f:device-list>
<f:device name="Voltage Converter" quantity="2" serial_number="20011">
<f:weight units="pounds">3.00</f:weight>
</f:device>
<f:device name="24-port switch" quantity="2" serial_number="24PORTSW-004">
<f:weight units="pounds">3.34</f:weight>
</f:device>
</f:device-list>
我正在使用 simplexml 和 xpath 获取设备的重量,如下所示:
foreach($xml->xpath('//f:weight[@units="pounds"]') as $weightLB) {
echo $weightLB;
echo "</br>";
}
我试图弄清楚如何获得权重元素的最小值和最大值。我已经查看了许多有关 xpath 的解决方案,但大多数都涵盖了属性值,并且不适用于像这样格式化的工作表。任何帮助将不胜感激!
【问题讨论】:
-
为什么不使用
max($weightLB)和min($weightLB)? -
是一个简单的xml对象,抛出错误"When only one parameter is given, it must be an array"
-
如果您想要纯 XPath 版本 - 请阅读 stackoverflow.com/a/1129929/1213708。对于这种情况,Max -
//f:weight[@units="pounds"][. > //f:weight[@units="pounds"]] -
@NigelRen 那个答案有一些问题。在stackoverflow.com/a/57981655/11102282下方查看我的解决方案@