Zend_Feed-ModifyingFeed.xml 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <sect1 id="zend.feed.modifying-feed">
  2. <title>Feed en Entry structuren wijzigen</title>
  3. <para>
  4. De intuïtieve syntax van <code>Zend_Feed</code> breidt zich uit voor het bouwen en wijzigen van feeds en
  5. entries, naast het lezen ervan. Je kan gemakkelijk je nieuwe of gewijzigde objecten in
  6. goedgevormde XML terugsturen om het in een bestand op te slaan of naar een server te sturen.
  7. </para>
  8. <example>
  9. <title>Wijzigen van een bestaande Feed Entry</title>
  10. <programlisting role="php"><![CDATA[
  11. <?php
  12. $feed = new Zend_Feed_Atom('http://atom.example.com/feed/1');
  13. $entry = $feed->current();
  14. $entry->title = 'Dit is een nieuwe titel';
  15. $entry->author->email = 'my_email@example.com';
  16. echo $entry->saveXML();
  17. ?>]]> </programlisting>
  18. <para>
  19. Dit zal een volledige (inclusief <code>&lt;?xml ... &gt;</code> proloog) XML representatie van de
  20. nieuwe entry weergeven, met inbegrip van alle nodige XML namespaces.
  21. </para>
  22. <para>
  23. Merk op dat het bovenstaande zelfs zal werken indien de oorspronkelijke entry nog geen <code>author</code>
  24. afbakening heeft. Je kan zoveel niveaus van <code>-&gt;</code> aandoen als je wil voor een toewijzing te
  25. doen; alle niveaus zullen automatisch worden aangemaakt indien nodig.
  26. </para>
  27. </example>
  28. <para>
  29. Als je een andere namespace wil gebruiken dan <code>atom:</code>, <code>rss:</code> of <code>osrss:</code>
  30. in je entry, moet je de namespace registreren aan <code>Zend_Feed</code> door
  31. <code>Zend_Feed::registerNamespace()</code> te gebruiken. Als je een bestaand element wil wijzigen zal het
  32. steeds zijn oorspronkelijke namespace behouden. Als je een nieuw element toevoegt zal het in de standaard
  33. namespace gaan als je niet uitdrukkelijk een andere namespace toewijst.
  34. </para>
  35. <example>
  36. <title>Een Atom Entry met elementen van een aangepaste namespace</title>
  37. <programlisting role="php"><![CDATA[
  38. <?php
  39. $entry = new Zend_Feed_Entry_Atom();
  40. // id wordt altijd via de server toegewezen in Atom
  41. $entry->title = 'mijn aangepaste entry';
  42. $entry->author->name = 'Voorbeeldauteur';
  43. $entry->author->email = 'me@example.com';
  44. // Doe nu de aanpassing
  45. Zend_Feed::registerNamespace('myns', 'http://www.example.com/myns/1.0');
  46. $entry->{'myns:myelement_one'} = 'mijn eerste aangepaste waarde';
  47. $entry->{'myns:container_elt'}->part1 = 'eerste genesteld aangepast deel';
  48. $entry->{'myns:container_elt'}->part2 = 'tweede genesteld aangepast deel';
  49. echo $entry->saveXML();
  50. ?>]]> </programlisting>
  51. </example>
  52. </sect1>
  53. <!--
  54. vim:se ts=4 sw=4 et:
  55. -->