PHP SimpleXML 从对象获取值
PHP SimpleXML get value from Object
有关于从 simpleXML 对象获取值的问题。所以首先,我这样做
$data = $xml->children('SOAP-ENV', true)->Body->children()->ExecuteQueryResponse->pdomOutput->recipient->attributes()->email;
var_dump($data);
return以下
object(SimpleXMLElement)#8 (1) {
[0]=>
string(26) "myemail@email.com"
}
我只需要这个的电子邮件地址。所以我然后继续这样做
$this->response = (string)$data[0];
var_dump($this->response);
现在我希望上面的 return 只是电子邮件地址,但它 return 包含所有内容,包括类型,例如
string(26) "myemail@email.com"
我可以使用 preg_match 之类的东西轻松地从中获取电子邮件地址,但这肯定不是正确的方法吗?没有类型是不是取不到值?
谢谢
如果您只想拥有字符串,SimpleXML 具有 __toString()
function for SimpleXMLElements。因此,对于您的代码,这将是:
$data = $xml->children('SOAP-ENV', true)->Body->children()->ExecuteQueryResponse->pdomOutput->recipient->attributes()->email;
$this->response = $data[0]->__toString();
有关于从 simpleXML 对象获取值的问题。所以首先,我这样做
$data = $xml->children('SOAP-ENV', true)->Body->children()->ExecuteQueryResponse->pdomOutput->recipient->attributes()->email;
var_dump($data);
return以下
object(SimpleXMLElement)#8 (1) {
[0]=>
string(26) "myemail@email.com"
}
我只需要这个的电子邮件地址。所以我然后继续这样做
$this->response = (string)$data[0];
var_dump($this->response);
现在我希望上面的 return 只是电子邮件地址,但它 return 包含所有内容,包括类型,例如
string(26) "myemail@email.com"
我可以使用 preg_match 之类的东西轻松地从中获取电子邮件地址,但这肯定不是正确的方法吗?没有类型是不是取不到值?
谢谢
如果您只想拥有字符串,SimpleXML 具有 __toString()
function for SimpleXMLElements。因此,对于您的代码,这将是:
$data = $xml->children('SOAP-ENV', true)->Body->children()->ExecuteQueryResponse->pdomOutput->recipient->attributes()->email;
$this->response = $data[0]->__toString();