Yo devvers,
Ik zit met een probleem waarvan ik voor het eerst niet precies weet hoe ik dit (het beste, if all) kan oplossen. Ik heb een (externe) XML feed. Ik ga werken met voorbeelddata, maar het principe komt op hetzelfde neer
Ik wil per item de image vervangen van een bepaalde id. Ik heb dus de id, en de bijbehorende (nieuwe) image.
Voorbeeld:
Maar wat is nu praktisch? Ik moet eerlijk bekennen dat ik niet helemaal thuis ben in de XML wereld, maar heb wel gekeken of ik eventueel de inhoud van een element kan replacen. Dat kon volgens mij al niet.
Een andere optie was wellicht de feed als string ophalen, en dan een preg_replace. Echter, de feed kan zomaar 10.000 of meer items bevatten die replaced moeten worden. Dan wordt dat een beetje een 'dure' aangelegenheid.
Zelf een XML feed genereren is ook niet echt een optie omdat ik niet alle data heb helaas. Enkel een ID en de nieuwe image.
Ik zit met een probleem waarvan ik voor het eerst niet precies weet hoe ik dit (het beste, if all) kan oplossen. Ik heb een (externe) XML feed. Ik ga werken met voorbeelddata, maar het principe komt op hetzelfde neer
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| <rss xmlns:x="http://......./" version="2.0"> <lijst> <item> <x:id>1234</x:id> <titel>Banaan rood</titel> <x:image>banaan.jpg</x:image> </item> <item> <x:id>456</x:id> <titel>Wiel</titel> <x:image>wieltje.jpg</x:image> </item> <item> <x:id>7890</x:id> <titel>Michael Jackson</titel> <x:image>mj.jpg</x:image> </item> </lijst> </rss> |
Ik wil per item de image vervangen van een bepaalde id. Ik heb dus de id, en de bijbehorende (nieuwe) image.
Voorbeeld:
PHP:
1
2
3
4
5
6
7
8
9
| $replaces = array ( 1234 => 'banaanw8rsdf.jpg', 567 => 'wielxzxc495sd.jpg', 7890 => 'michaeltigeh489fns3.jpg', ); $feed = simplexml_load_file($this->externalUrl); //... en nu? |
Maar wat is nu praktisch? Ik moet eerlijk bekennen dat ik niet helemaal thuis ben in de XML wereld, maar heb wel gekeken of ik eventueel de inhoud van een element kan replacen. Dat kon volgens mij al niet.
Een andere optie was wellicht de feed als string ophalen, en dan een preg_replace. Echter, de feed kan zomaar 10.000 of meer items bevatten die replaced moeten worden. Dan wordt dat een beetje een 'dure' aangelegenheid.
Zelf een XML feed genereren is ook niet echt een optie omdat ik niet alle data heb helaas. Enkel een ID en de nieuwe image.
[ Voor 5% gewijzigd door Saven op 17-08-2015 23:18 ]