PHP SimpleXML从Object获取值

时间:2015-11-02 13:47:10

标签: php simplexml

有一个关于从simpleXML Object获取值的问题。首先,我这样做

data_from_file

然后返回以下

$data = $xml->children('SOAP-ENV', true)->Body->children()->ExecuteQueryResponse->pdomOutput->recipient->attributes()->email;
var_dump($data);

我只需要这个电子邮件地址。所以我接着这样做

object(SimpleXMLElement)#8 (1) {
  [0]=>
  string(26) "myemail@email.com"
}

现在我希望上面只返回电子邮件地址,而是返回所有内容,包括类型等。

$this->response = (string)$data[0];
var_dump($this->response);

我可以使用像preg_match这样的东西轻松地从中获取电子邮件地址,但这肯定不是可行的方法吗?如果没有类型,是否无法获得值?

由于

1 个答案:

答案 0 :(得分:1)

如果您只想拥有字符串,SimpleXML会有__toString() function for SimpleXMLElements。因此,使用您的代码,这将是:

$data = $xml->children('SOAP-ENV', true)->Body->children()->ExecuteQueryResponse->pdomOutput->recipient->attributes()->email;
$this->response = $data[0]->__toString();