3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php /** * How to get attribute of node with namespace using SimpleXML? * * @link http://stackoverflow.com/q/6576773/367456 */ $buffer = '<?xml version="1.0" encoding="utf-8" standalone="yes"?> <ns:quoteRS xmlns:ns="http://www.allianz.com/emagin/api/v1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0" xsi:schemaLocation="http://www.allianz.com/emagin/bs/common/v1 bs_common_v1.xsd http://www.allianz.com/emagin/bs/quote/v1 bs_quote_v1.xsd http://www.allianz.com/emagin/bs/domain/travel/v1 bs_domain_travel_v1.xsd"> <ns:status code="ERROR"/> <ns:messages> <ns:message code="NO_PRODUCT_AVAILABLE" lang="en" level="info">No offer matching the quotation request.</ns:message> </ns:messages> </ns:quoteRS>'; $xml = new SimpleXMLElement($buffer); print_r($xml); echo "ibxml version: ", LIBXML_DOTTED_VERSION, "\n"; foreach ($xml->entry as $item) { //original comment: how to get seconds? $namespaces = $item->getNameSpaces(true); $yt = $item->children($namespaces['yt']); $seconds = $yt->duration->attributes(); echo $seconds['seconds'], "\n"; // original comment: but doesn't work. } echo "done. should read 1870 one time.\n";
based on rtkOZ
Output for 5.6.30, 7.0.30 - 7.3.0alpha1
SimpleXMLElement Object ( [@attributes] => Array ( [version] => 1.0 ) ) ibxml version: 2.9.4 done. should read 1870 one time.
Output for hhvm-3.18.5 - 3.22.0
SimpleXMLElement Object ( [@attributes] => Array ( [version] => 1.0 ) ) ibxml version: 2.9.1 done. should read 1870 one time.