digg benzeri bir proje yapacağımız için xml kayıtlarını okuyacak bir sınıf hazırlamamız gerekli. simplexml diye bişey olduğunu biliyordum fakat onceden php5 kullanmadığım için incelememiştim.
Dün gece simplexml araştırdım bayada hoşuma gitti. Şimdi kısaca kullanımını sizlerede anlatacağım.
a.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?xml version="1.0"?> <rss> <channel> <item> <title>php ile xml</title> <description>hede hödö</description> </item> <item> <title>php ile rss</title> <description>vırrık cırrık</description> </item> </channel> </rss> |
xml dosyasını yükleyelim.
1 | $xml = simplexml_load_file('a.xml'); |
2. verinin titlesini cekelim
1 2 | $xml = simplexml_load_file('a.xml'); echo $xml->channel->item[1]->title[0]; |
tüm verileri çekelim
1 2 3 4 5 | $xml = simplexml_load_file('a.xml'); foreach($xml->channel->item as $item) { echo $item->title.' - '.$item->description.'<br>'; } |
veriyi xpath ile alalım
1 2 3 4 5 6 | $xml = simplexml_load_file('a.xml'); $title = $xml->xpath("/rss/channel/item/title"); foreach($title as $t) { echo $t.'<br>'; } |
evet rss nasıl okuyacağımıza dair birşeyler yaptık. şimdi birde verilerimizden xml olusturalım.
1 2 3 4 5 6 7 8 9 10 11 12 13 | $xmlveri = <<<XML <?xml version="1.0" encoding="utf-8" ?> <rss> </rss> XML; $xml = simplexml_load_string($xmlveri); // string olan veriyi yükler a.xml diye dosya yuklemek icin simplexml_load_file kullanacaktık. $child= $xml->addChild('channel'); // yeni child ekler $child->addChild('title', 'php ile xml olusturma'); $child->addChild('description', 'virrik cirrik'); echo $xml->asXML(); // veriyi ekrana basioruz. |
benzer konular:














(5 votes, average: 4.00 out of 5)
design patterns