3v4l.org

run code in 300+ PHP versions simultaneously
<?php $smlString = <<<SOURCE <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <CheckDealNoStatusResponse xmlns="http://tempuri.org/"> <CheckDealNoStatusResult> <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="tbl" msdata:UseCurrentLocale="true"> <xs:complexType> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="tbl"> <xs:complexType> <xs:sequence> <xs:element name="Temp1" type="xs:long" minOccurs="0" /> <xs:element name="Temp2" type="xs:string" minOccurs="0" /> <xs:element name="Temp3" type="xs:string" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> </xs:element> </xs:schema> <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1"> <NewDataSet xmlns=""> <tbl diffgr:id="tbl1" msdata:rowOrder="0"> <Temp1>12929011</Temp1> <Temp2>Pending</Temp2> <Temp3>Pending</Temp3> </tbl> </NewDataSet> </diffgr:diffgram> </CheckDealNoStatusResult> <ErrorMsg /> </CheckDealNoStatusResponse> </soap:Envelope> SOURCE; $parser = simplexml_load_string($smlString, "SimpleXMLElement", LIBXML_NOCDATA); $ns = $parser->getNamespaces(true); $parser->registerXPathNamespace('tempuri', $ns['']); $parser->registerXPathNamespace('diffgr', $ns['diffgr']); $elements = $parser->xpath('//tempuri:CheckDealNoStatusResponse/tempuri:CheckDealNoStatusResult/diffgr:diffgram/NewDataSet/tbl'); $element = $elements[0]; var_dump($element->Temp1->__toString()); var_dump($element->Temp2->__toString()); var_dump($element->Temp3->__toString());
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/5NA2h
function name:  (null)
number of ops:  48
compiled vars:  !0 = $smlString, !1 = $parser, !2 = $ns, !3 = $elements, !4 = $element
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, '%3C%3Fxml+version%3D%221.0%22+encoding%3D%22utf-8%22%3F%3E%0A%3Csoap%3AEnvelope+xmlns%3Asoap%3D%22http%3A%2F%2Fschemas.xmlsoap.org%2Fsoap%2Fenvelope%2F%22+xmlns%3Axsi%3D%22http%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema-instance%22+xmlns%3Axsd%3D%22http%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema%22%3E%0A++++%3CCheckDealNoStatusResponse+xmlns%3D%22http%3A%2F%2Ftempuri.org%2F%22%3E%0A++++++++%3CCheckDealNoStatusResult%3E%0A++++++++++++%3Cxs%3Aschema+id%3D%22NewDataSet%22+xmlns%3D%22%22+xmlns%3Axs%3D%22http%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema%22+xmlns%3Amsdata%3D%22urn%3Aschemas-microsoft-com%3Axml-msdata%22%3E%0A++++++++++++++++%3Cxs%3Aelement+name%3D%22NewDataSet%22+msdata%3AIsDataSet%3D%22true%22+msdata%3AMainDataTable%3D%22tbl%22+msdata%3AUseCurrentLocale%3D%22true%22%3E%0A++++++++++++++++++++%3Cxs%3AcomplexType%3E%0A++++++++++++++++++++++++%3Cxs%3Achoice+minOccurs%3D%220%22+maxOccurs%3D%22unbounded%22%3E%0A++++++++++++++++++++++++++++%3Cxs%3Aelement+name%3D%22tbl%22%3E%0A++++++++++++++++++++++++++++++++%3Cxs%3AcomplexType%3E%0A++++++++++++++++++++++++++++++++++++%3Cxs%3Asequence%3E%0A++++++++++++++++++++++++++++++++++++++++%3Cxs%3Aelement+name%3D%22Temp1%22+type%3D%22xs%3Along%22+minOccurs%3D%220%22+%2F%3E%0A++++++++++++++++++++++++++++++++++++++++%3Cxs%3Aelement+name%3D%22Temp2%22+type%3D%22xs%3Astring%22+minOccurs%3D%220%22+%2F%3E%0A++++++++++++++++++++++++++++++++++++++++%3Cxs%3Aelement+name%3D%22Temp3%22+type%3D%22xs%3Astring%22+minOccurs%3D%220%22+%2F%3E%0A++++++++++++++++++++++++++++++++++++%3C%2Fxs%3Asequence%3E%0A++++++++++++++++++++++++++++++++%3C%2Fxs%3AcomplexType%3E%0A++++++++++++++++++++++++++++%3C%2Fxs%3Aelement%3E%0A++++++++++++++++++++++++%3C%2Fxs%3Achoice%3E%0A++++++++++++++++++++%3C%2Fxs%3AcomplexType%3E%0A++++++++++++++++%3C%2Fxs%3Aelement%3E%0A++++++++++++%3C%2Fxs%3Aschema%3E%0A++++++++++++%3Cdiffgr%3Adiffgram+xmlns%3Amsdata%3D%22urn%3Aschemas-microsoft-com%3Axml-msdata%22+xmlns%3Adiffgr%3D%22urn%3Aschemas-microsoft-com%3Axml-diffgram-v1%22%3E%0A++++++++++++++++%3CNewDataSet+xmlns%3D%22%22%3E%0A++++++++++++++++++++%3Ctbl+diffgr%3Aid%3D%22tbl1%22+msdata%3ArowOrder%3D%220%22%3E%0A++++++++++++++++++++++++%3CTemp1%3E12929011%3C%2FTemp1%3E%0A++++++++++++++++++++++++%3CTemp2%3EPending%3C%2FTemp2%3E%0A++++++++++++++++++++++++%3CTemp3%3EPending%3C%2FTemp3%3E%0A++++++++++++++++++++%3C%2Ftbl%3E%0A++++++++++++++++%3C%2FNewDataSet%3E%0A++++++++++++%3C%2Fdiffgr%3Adiffgram%3E%0A++++++++%3C%2FCheckDealNoStatusResult%3E%0A++++++++%3CErrorMsg+%2F%3E%0A++++%3C%2FCheckDealNoStatusResponse%3E%0A%3C%2Fsoap%3AEnvelope%3E'
   40     1        INIT_FCALL                                               'simplexml_load_string'
          2        SEND_VAR                                                 !0
          3        SEND_VAL                                                 'SimpleXMLElement'
          4        SEND_VAL                                                 16384
          5        DO_ICALL                                         $6      
          6        ASSIGN                                                   !1, $6
   41     7        INIT_METHOD_CALL                                         !1, 'getNamespaces'
          8        SEND_VAL_EX                                              <true>
          9        DO_FCALL                                      0  $8      
         10        ASSIGN                                                   !2, $8
   42    11        INIT_METHOD_CALL                                         !1, 'registerXPathNamespace'
         12        SEND_VAL_EX                                              'tempuri'
         13        CHECK_FUNC_ARG                                           
         14        FETCH_DIM_FUNC_ARG                               $10     !2, ''
         15        SEND_FUNC_ARG                                            $10
         16        DO_FCALL                                      0          
   43    17        INIT_METHOD_CALL                                         !1, 'registerXPathNamespace'
         18        SEND_VAL_EX                                              'diffgr'
         19        CHECK_FUNC_ARG                                           
         20        FETCH_DIM_FUNC_ARG                               $12     !2, 'diffgr'
         21        SEND_FUNC_ARG                                            $12
         22        DO_FCALL                                      0          
   45    23        INIT_METHOD_CALL                                         !1, 'xpath'
         24        SEND_VAL_EX                                              '%2F%2Ftempuri%3ACheckDealNoStatusResponse%2Ftempuri%3ACheckDealNoStatusResult%2Fdiffgr%3Adiffgram%2FNewDataSet%2Ftbl'
         25        DO_FCALL                                      0  $14     
         26        ASSIGN                                                   !3, $14
   46    27        FETCH_DIM_R                                      ~16     !3, 0
         28        ASSIGN                                                   !4, ~16
   48    29        INIT_FCALL                                               'var_dump'
         30        FETCH_OBJ_R                                      ~18     !4, 'Temp1'
         31        INIT_METHOD_CALL                                         ~18, '__toString'
         32        DO_FCALL                                      0  $19     
         33        SEND_VAR                                                 $19
         34        DO_ICALL                                                 
   49    35        INIT_FCALL                                               'var_dump'
         36        FETCH_OBJ_R                                      ~21     !4, 'Temp2'
         37        INIT_METHOD_CALL                                         ~21, '__toString'
         38        DO_FCALL                                      0  $22     
         39        SEND_VAR                                                 $22
         40        DO_ICALL                                                 
   50    41        INIT_FCALL                                               'var_dump'
         42        FETCH_OBJ_R                                      ~24     !4, 'Temp3'
         43        INIT_METHOD_CALL                                         ~24, '__toString'
         44        DO_FCALL                                      0  $25     
         45        SEND_VAR                                                 $25
         46        DO_ICALL                                                 
         47      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
158.21 ms | 1016 KiB | 15 Q