Convert stClClass рдХреЛ SimpleXml рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдмрджрд▓реЗрдВ

рдПрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП (рдФрд░ рдореИрдВ рдмрд╕ рдЗрд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЖрдЬрд╝рдорд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛) рдореИрдВрдиреЗ рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЗрдВрдЬрди рдХреЗ рд░реВрдк рдореЗрдВ XSLT рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рд╕рдм рдХреБрдЫ рдЕрджреНрднреБрдд рд▓рдЧрддрд╛ рд╣реИ: XSL рдЯреНрд░рд╛рдВрд╕рдлрд╝реЙрд░реНрдореЗрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ SimpleXml рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рднреА рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИ, рдЖрдк рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдЗрдВрдЬрди рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕реАрдзреЗ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ?



рд▓реЗрдХрд┐рди рдЖрдк рд╕реАрдзреЗ xslt рдЯреЗрдореНрдкрд▓реЗрдЯ рдЗрдВрдЬрди рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд╕реНрддреБ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ ... рдореИрдВ рд╢рд╛рдпрдж рдЗрд╕рдХреА рдкреБрд╖реНрдЯрд┐ рдирд╣реАрдВ рдХрд░рддрд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдПрдХ рдирдпрд╛ рджреЛ-рдкрд╣рд┐рдпрд╛ рджреЛрд╕реНрдд рдмрдирд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЦреЛрдЬ рдХреАред рдХрд┐рд╕реА рднреА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЕрд╡рд╕рд░ рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрдХрд┐рд▓ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдорд┐рдиреА-рдпреБрдЧ рдкрд╣рд▓реЗ рд╣реА рдмреАрдд рдЪреБрдХрд╛ рд╣реИред

рдЗрд╕рд▓рд┐рдП, рдирд┐рдореНрди рдХрдирд╡рд░реНрдЯрд░ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ (рд╡реИрд╕реЗ, рдореИрдВ рдЗрд╕реЗ рдХреЛрдбрд┐рдЧреНрдирд┐рдЯрд░ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдХрд┐рд╕реА рднреА рд╡рд┐рд╡рд░рдг рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ):

if ( ! function_exists('std2simplexml')) { function std2simplexml($object,$recursive=false) { $xml = new DOMDocument; $root = $xml->createElement('root'); $xml->appendChild($root); foreach ($object as $key => $child) { if (is_object($child)) { $new_xml = std2simplexml($child,true); $new_xml = str_replace(array('','',''),'',$new_xml); $el = $xml->createElement($key,$new_xml); } else { $el = $xml->createElement($key,$child); } $root->appendChild($el); } if (!$recursive) { $simple_xml = simplexml_load_string(html_entity_decode($xml->saveXml())); return $simple_xml; } else { return $xml->saveXml(); } } } 


рдлрд╝рдВрдХреНрд╢рди рдЫреЛрдЯрд╛ рд╣реИ, рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ рдХреНрд░реВрдб рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдореИрдВрдиреЗ рдЕрднреА рддрдХ, рдЗрд╕рдХрд╛ рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рдкрдЪ рди рдЬрд╛рдПред

рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

рдирд┐рдпрдВрддреНрд░рдХ:
  //      $book_obj = $this->book->getBookPage($book,$page/2); //    php $future_xml = new stdclass; //   $future_xml->book = $book_obj; //  - $future_xml->blabla = $blabla; 


рджреЗрдЦреЗрдВ:
  //    SimpleXML $xml = std2simplexml($future_xml); //   ,      $xml->template->base_url = base_url(); $xml->template->title = '  '; //  $xsl = simplexml_load_file( APPPATH.'templates/index.xsl' ); $proc= new XSLTProcessor(); $proc->importStyleSheet($xsl); echo $proc->transformToXML($xml); 


рдЖрдиреЗ рд╡рд╛рд▓реА рд╡рд╕реНрддреБ:
 $xml = std2simplexml($future_xml); 


  stdClass Object ( [cycle_book] =>   [title_book] =>  [sub] => stdClass Object ( [id_book] => 1 [id_category_book] => 4 ) ) 


рдкрд░рд┐рдгрд╛рдо (рд╡рд╕реНрддреБ):
  SimpleXMLElement Object ( [cycle_book] =>   [title_book] =>  [sub] => SimpleXMLElement Object ( [id_book] => 1 [id_category_book] => 4 ) ) 


рдкрд░рд┐рдгрд╛рдо (XML):
 <root> <id_book>1</id_book> <id_category_book>4</id_category_book> <sub> <id_book>1</id_book> <id_category_book>4</id_category_book> </sub> </root> 


рдпрджрд┐ рдХреЛрдИ рдФрд░ рдЕрдзрд┐рдХ рд╕рднреНрдп рд╕рдорд╛рдзрд╛рди рд╕реБрдЭрд╛рддрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рдЦреБрд╢реА рд╣реЛрдЧреАред
рдЦреИрд░, рдХреБрдЫ рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдХрд┐рд╕реА рдХреА рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕реЗрд╡рд╛ рдХрд░реЗрдЧрд╛ред

Source: https://habr.com/ru/post/In132976/


All Articles