Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 当值本身也是simpleXML对象时,访问simpleXML对象的值_Php_Xml_Simplexml - Fatal编程技术网

Php 当值本身也是simpleXML对象时,访问simpleXML对象的值

Php 当值本身也是simpleXML对象时,访问simpleXML对象的值,php,xml,simplexml,Php,Xml,Simplexml,我收到来自第三方服务器的以下XML响应: <?xml version="1.0" encoding="utf-8" ?><Search type="upcDetails"> <Error> <ErrorCode>0</ErrorCode> <ErrorMessage>SUCCESS</ErrorMessage> </Error> <Product> <Name>&l

我收到来自第三方服务器的以下XML响应:

<?xml version="1.0" encoding="utf-8" ?><Search type="upcDetails">
<Error>
  <ErrorCode>0</ErrorCode>
  <ErrorMessage>SUCCESS</ErrorMessage>
</Error>
<Product>
  <Name><![CDATA[CGC UltraLight Gypsum 4'x8'x1/2"]]></Name>
  <ProductId><![CDATA[1000686028]]></ProductId>
  <storeAvailabilityText><![CDATA[Mississauga Britannia Store Qty: 806]]></storeAvailabilityText>
   <OriginalPrice><![CDATA[6.49 ]]></OriginalPrice><UOM><![CDATA[EA]]></UOM>
   <IsOnline><![CDATA[true]]></IsOnline>
</Product>
</Search>
例如,当值本身是另一个SimpleXMLobject时,如何访问SimpleXMLElement对象()的值?

您可以这样尝试

$xml = simplexml_load_string($response);
echo $xml->Product->ProductId;
实现这个神奇的方法,因此如果在字符串上下文中使用
$simpleXML->Product->ProductId
,或者显式地强制转换它,您将从元素中获得子文本

例子: 输出:
哦,男人。。。多么愚蠢的错误。。我没看到这是嵌套在…是的,我做了一个愚蠢的疏忽。我正在尝试$simpleXML->ProductId。没有注意到ProductId嵌套在产品中@拉姆·夏尔马指出了这一点,我马上意识到。也谢谢你的帮助
$xml = simplexml_load_string($response);
echo $xml->Product->ProductId;
var_dump((string) $simpleXML->Product->ProductId);
string(10) "1000686028"