【问题标题】:PHP SimpleXML get value from ObjectPHP SimpleXML 从 Object 获取值
【发布时间】:2016-02-02 10:10:59
【问题描述】:

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

$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);

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

string(26) "myemail@email.com"

我可以使用 preg_match 之类的方法轻松地从中获取电子邮件地址,但这肯定不是正确的方法吗?没有类型就不能取值吗?

谢谢

【问题讨论】:

  • 输入是什么意思?您是否尝试使用 echo 代替 var_dump?
  • 我实际上是在返回整个值,它不喜欢我这样做而不回显它(因为 ajax)。似乎现在可以工作了,谢谢
  • var_dump 正在做它应该做的事情,它向您显示变量的类型和长度以及内容。而 echo "just" 显示内容。

标签: php simplexml


【解决方案1】:

如果你只想得到字符串,SimpleXML 有__toString() function for SimpleXMLElements。因此,对于您的代码,这将是:

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

【讨论】:

    猜你喜欢
    • 2010-11-11
    • 2018-08-04
    • 1970-01-01
    • 2014-11-22
    • 1970-01-01
    • 2012-05-19
    • 2016-05-11
    • 1970-01-01
    相关资源
    最近更新 更多