【问题标题】:Getting actual value from PHP SimpleXML node [duplicate]从 PHP SimpleXML 节点获取实际值 [重复]
【发布时间】:2010-11-11 03:50:56
【问题描述】:
$value = $simpleXmlDoc->SomeNode->InnerNode;

实际上将simplexml对象分配给$value,而不是InnerNode的实际值。

如果我这样做:

$value = $simpleXmlDoc->SomeNode->InnerNode . "\n";

我得到了价值。无论如何,如果没有笨拙的. "\n",就可以获得实际价值吗?

【问题讨论】:

标签: php simplexml


【解决方案1】:

投射为您想要的任何类型(并且有意义......)。通过连接,您隐式转换为字符串,所以

$value = (string) $xml->someNode->innerNode;

【讨论】:

    【解决方案2】:

    您不必指定innerNode

    $value = (string) $simpleXmlDoc->SomeNode;

    【讨论】:

      【解决方案3】:

      使用类型转换怎么样,比如:

      $value = (string)$simpleXmlDoc->SomeNode->InnerNode;
      

      见:type-juggling

      或者您也可以使用 strval()、intval() 和所有这些 - 只是可能更慢,因为函数调用。

      【讨论】:

        【解决方案4】:

        要么将其转换为字符串,要么在字符串上下文中使用它:

        $value = (string) $simpleXmlDoc->SomeNode->InnerNode;
        // OR
        echo $simpleXmlDoc->SomeNode->InnerNode;
        

        SimpleXML reference functions guide

        【讨论】:

          猜你喜欢
          • 2011-08-01
          • 2015-10-23
          • 2014-11-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-02-02
          • 2011-06-20
          • 1970-01-01
          相关资源
          最近更新 更多