Nie wiem jak zrobić jedną (wydaje się prostą) rzecz. Mianowicie utknąłem w xmlu.
Mam plik feeds który wygląda tak:
<feeds> <feed id="158477" cat_id="1" add_date="2014-05-21 13:44:05" mod_date="0000-00-00 00:00:00" path="/1/2014-05-21/158477/158477.xml"/> <feed id="158476" cat_id="36" add_date="2014-05-21 13:32:19" mod_date="0000-00-00 00:00:00" path="/36/2014-05-21/158476/158476.xml"/> <feed id="158476" cat_id="21" add_date="2014-05-21 13:32:19" mod_date="0000-00-00 00:00:00" path="/21/2014-05-21/158476/158476.xml"/> <feed id="158473" cat_id="1" add_date="2014-05-21 13:06:26" mod_date="0000-00-00 00:00:00" path="/1/2014-05-21/158473/158473.xml"/> <feed id="158471" cat_id="83" add_date="2014-05-21 13:22:44" mod_date="2014-05-21 12:56:16" path="/83/2014-05-21/158471/158471.xml"/> <feed id="158471" cat_id="21" add_date="2014-05-21 13:22:44" mod_date="2014-05-21 12:56:16" path="/21/2014-05-21/158471/158471.xml"/> </feeds>
I tutaj skryptem chcę wyciągać wszytkie "feed", parsować i dodawać do bazy:
$doc = new DOMDocument("1.0", "iso-8859-2"); $doc->load("feeds.xml"); $books = $doc->getElementsByTagName('feed'); foreach ($books as $feed) { $path = $feed -> getAttribute('path'); $cat_id = $feed -> getAttribute('cat_id'); $doc = new DOMDocument("1.0", "iso-8859-2"); $doc->load("$path1"); $feed = $doc->getElementsByTagName( "feed" ); foreach ($feed as $matches) { $title = $matches->getElementsByTagName( "title" ); $tytul = $title->item(0)->nodeValue; $content = $matches->getElementsByTagName( "content" ); $tresc = $content->item(0)->nodeValue; $id = $matches->getElementsByTagName( "id" ); $export_id = $id->item(0)->nodeValue; $add_date = $matches->getElementsByTagName( "add_date" ); $date = $add_date->item(0)->nodeValue;
I teraz nie umiem wziąć wszystkich "feed", biore tylko jedno.
Czy pomoże mi ktoś wziąć wszystkie?