Прошу помощи профессионалов. Есть код дампа реестра запрещенных ресурсов Код (Text): #!/usr/local/bin/php <?php $xmlstr = <<<XML <?xml version="1.0" encoding="windows-1251"?> <reg:register updateTime="2014-02-02T12:00:00+04:00" updateTimeUrgently="2014-02-01T11:00:00" formatVersion="2.0" xmlns:reg="http://rsoc.ru" xmlns:tns="http://rsoc.ru"> <content id="1101" includeTime="2013-12-01T10:00:05" entryType="1"> <decision date="2013-12-01" number="9" org="Роспотребнадзор"/> <url><![CDATA[http://site1.com/index.php]]></url> <domain><![CDATA[site1.com]]></domain> <ip>1.1.1.1</ip> </content> <content id="1202" includeTime="2013-12-01T10:00:05" entryType="2"> <decision date="2013-12-01" number="9" org="Мосгорсуд"/> <url><![CDATA[http://site2.com/page1.php]]></url> <url><![CDATA[http://site2.com/page2.php]]></url> <url><![CDATA[http://site2.com/page3.php]]></url> <domain><![CDATA[site2.com]]></domain> <ip>1.1.1.1</ip> <ip>1.1.1.2</ip> </content> <content id="1303" includeTime="2014-02-01T15:17:51" urgencyType="1" entryType="3"> <decision date="2014-02-01" number="номер документа" org="Генпрокуратура"/> <url><![CDATA[http://site3.com/page1.html]]></url> <domain><![CDATA[site3.com]]></domain> <ips><ip>1.2.3.4</ip></ips> </content> <content id="1404" includeTime="2014-02-01T16:19:32" entryType="4"> <decision date="2014-02-01" number="номер документа" org="Роскомнадзор"/> <domain><![CDATA[site4.com]]></domain> <domain><![CDATA[site5.com]]></domain> <ip>1.2.3.4</ip> <ipSubnet>8.1.1.0/24</ipSubnet> </content> <content id="1505" includeTime="2014-02-01T17:08:23" entryType="4"> <decision date="2014-02-01" number="номер документа" org="Роскомнадзор"/> <ipSubnet>8.2.1.0/16</ipSubnet> </content> </reg:register> XML; $rsz = new SimpleXMLElement($xmlstr); foreach ($rsz->content as $site) { echo $site->ip, ' ip ', PHP_EOL; } ответ выводит такой Код (Text): 1.1.1.1 ip1 1.1.1.1 ip1 1.2.3.4 ip1 1.2.3.4 ip1 ip1 Последние строки добавлял как тут http://php.ru/manual/simplexml.examples-basic.html Версия РНР 5.3.8 как сделать так, чтобы выводились все ip ?
$rsz = new SimpleXMLElement($xmlstr); var_dump($rsz); И гляди, какая структура у объекта после прочтения. Будет понятно, как по ней гулять.
На интересующей записи выдает такое Код (Text): ["ip"]=> array(2) { [0]=> string(7) "1.1.1.1" [1]=> string(7) "1.1.1.2" } если обратиться по ip[0] или ip[1], то он возьмет эти значения. Но количество ай-пи может достигать до 17 шт. Как их все перебрать внутри Код (Text): foreach ($rsz->content as $site) { echo $site->ip, ' ip ', PHP_EOL; } , не зная, сколько их будет?
Код (Text): foreach ($rsz->content as $site) { foreach ($site->ip as $ip) { echo $ip;; } } Должно показать все айпишники в массиве.