Ответы пользователя по тегу API
  • Парсинг XML от ISPManager API

    @PomanoB
    Если вкратце, вам надо искать теги не name, а elem, и дальше двигаться уже от них.

    <?php
    header('Content-type: text/plain;');
    $xml = '
    <doc>
    	<elem>
    		<name>belykrolik</name>
    		<owner color="blue">golov</owner>
    		<disk used="124" limit="1024"/>
    		<bandwidth used="24" limit="100000000"/>
    		<disabled/>
    		<preset>test</preset>
    		<note>01/02/2014</note>
    	</elem>
    
    	<elem>
    		<name>belykrolik2</name>
    		<owner color="blue">golov</owner>
    		<disk used="124" limit="1024"/>
    		<bandwidth used="24" limit="100000000"/>
    		<preset>test</preset>
    		<note>01/02/2014</note>
    	</elem>
    </doc>';
    
    $ar = array();
    $i = 0;
    $x = simplexml_load_string($xml);
    foreach($x->elem as $elem)
    {
    	$ar[$i]['name'] = (string)$elem->name;
    	$ar[$i]['disabled'] = (bool)$elem->disabled;
    	
    	$i++;
    }
    var_dump($ar);
    

    Результат:
    array(2) {
      [0]=>
      array(2) {
        ["name"]=>
        string(10) "belykrolik"
        ["disabled"]=>
        bool(true)
      }
      [1]=>
      array(2) {
        ["name"]=>
        string(11) "belykrolik2"
        ["disabled"]=>
        bool(false)
      }
    }
    
    Ответ написан
    Комментировать