在PHP中显示XML标记中的数据


Display data within XML tags in PHP

收到的XML如下。如何获取值('AI','3',20.78'…)并在PHP中显示?值总是按该顺序返回,但长度可能会有所不同。

<?xml version="1.0" encoding="UTF-8"?>
<Data>
    <Item Type="AI" Chan="3" Value="20.78" Manual="OFF" Min="0.00" Max="100.00" Units="degC" Name="Workshop Temp" />
</Data>

任何想法都将不胜感激!

您可能会发现SimpleXMLElement::attributes的文档很有用,

SimpleXMLElement::attributes--标识元素的属性

返回值

返回一个SimpleXMLElement对象,该对象可以迭代以循环遍历标记上的属性。

如果对已经表示属性而不是标记的SimpleXMLElement对象调用,则返回NULL。

以下是您应该如何使用它:

$str = <<< XML
<?xml version="1.0" encoding="UTF-8"?>
<Data>
    <Item Type="AI" Chan="3" Value="20.78" Manual="OFF" Min="0.00" Max="100.00" Units="degC" Name="Workshop Temp" />
</Data>
XML;
$xml = simplexml_load_string($str);
foreach($xml->Item[0]->attributes() as $key => $att) {
    echo $att."'n";
}