无法从PHP中的SimpleXMLElement中提取字符串

时间:2017-04-13 08:49:53

标签: php simplexml

我正在尝试从下面的SimpleXMLElement中提取字符串值(已从SOAP端点返回),但我没有喜悦:

object(SimpleXMLElement)[476]
  public 'return' => string 'ff7ecc8af5ecaaba412c3b453c5f65f1' (length=32)

我已经尝试将整个对象转换为字符串,它只是返回空白,我已经尝试过处理' return'作为关键等等。这是一项如此简单的任务,无法相信它让我感到难过。

2 个答案:

答案 0 :(得分:1)

问题中有些隐藏的问题是,元素名称是保留字,因此您无法使用普通语法:

$value = (string)$xml->return; # SYNTAX ERROR

解决方案是在名称周围使用大括号和引号,这允许您使用保留字或字符:

$value = (string)$xml->{'return'};

答案 1 :(得分:0)

尝试在变量前面添加(字符串)。例如:

echo (string)$xml->fieldname;

SimpleXMLElement的东西非常面向对象,但正如您从共享的调试输出中看到的那样,字符串就在那里。