使用PHP从Last XML元素中提取Last Data Tag

时间:2014-04-01 11:28:37

标签: php xml xpath xml-parsing

我有一个XML文件,我使用xpath来提取最后一个元素。

所以目前这行代码如下:

    //Get The file from directory
    $xml=simplexml_load_file("docs/03-24-2014.xml");

    //Get last Element
    $last = $xml->xpath("/DocumentElement/Datas[last()]");

输出

array(1) { [0]=> object(SimpleXMLElement)#4 (6) { ["Name"]=> string(12) "COM3-Screen1" ["AdjustMode"]=> string(10) "AutoAdjust" ["Time"]=> string(19) "03-24-2014 11:59:27" ["ScreenBrightnessValues_x0028_0-255_x0029_"]=> string(1) "2" ["AmbientBrightness_x0028_lux_x0029_"]=> string(1) "0" ["BrightnessPercentage"]=> string(2) "0%" } }

目标

我想要实现的是提取名为“BrightnessPercentage并将其存储在字符串中”的最后一个数据标记

我试过了echo $last->BrightnessPercentage .;,但它没有用!

任何帮助你都会受到赞赏

1 个答案:

答案 0 :(得分:1)

要直接从xpath获取该属性作为字符串,请执行:

$brightness = (string)$xml->xpath("/DocumentElement/Datas[last()]/@BrightnessPercentage")[0];

需要PHP> = 5.4。如果您使用的是较低版本,请执行以下操作:

$brightness = $xml->xpath("/DocumentElement/Datas[last()]/@BrightnessPercentage");
$brightness = (string)$brightness[0];