Zend_Feed-ModifyingFeed.xml 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <sect1 id="zend.feed.modifying-feed">
  2. <title>Modifica della struttura e degli elementi di un feed</title>
  3. <para>
  4. La sintassi intuitiva di <code>Zend_Feed</code> si può utilizzare sia per costruire o modificare i feed ed gli elementi dei feed, sia per leggerli.
  5. Un oggetto nuovo o modificato può essere facilmente riconvertito in XML per il salvataggio in un file o l'invio ad un server.
  6. </para>
  7. <example id="zend.feed.modifying-feed.example.modifying">
  8. <title>Modifica di un elemento esistente in un feed</title>
  9. <programlisting role="php"><![CDATA[<?php
  10. $feed = new Zend_Feed_Atom('http://atom.example.com/feed/1');
  11. $entry = $feed->current();
  12. $entry->title = 'Questo è un nuovo titolo';
  13. $entry->author->email = 'my_email@example.com';
  14. echo $entry->saveXML();]]>
  15. </programlisting>
  16. <para>
  17. Questo codice esegue l'output di una rappresentazione XML completa dell'elemento, inclusa la dichiarazione <code>&lt;?xml ... &gt;</code> e qualsiasi namespace XML necessario.
  18. </para>
  19. <para>
  20. Si noti come il codice precedente funziona anche se l'elemento esistente non contiene ancora un tag <code>author</code>.
  21. Si possono utilizzare quanti livelli di accesso <code>-&gt;</code> si desidera prima di eseguire l'assegnamento. Tutti i livelli intermedi verranno creati in automatico, se necessario.
  22. </para>
  23. </example>
  24. <para>
  25. Se si desidera utilizzare in un elemento un namespace oltre a <code>atom:</code>, <code>rss:</code> o <code>osrss:</code>, è necessario registrarlo in <code>Zend_Feed</code> utilizzando <code>
  26. Zend_Feed::registerNamespace()</code>.
  27. Un elemento esistente manterrà sempre il proprio namespace originale in fase di modifica.
  28. Un nuovo elemento sarà invece inserito nel namespace predefinito se non si specifica esplicitamente un namespace alternativo.
  29. </para>
  30. <example id="zend.feed.modifying-feed.example.creating">
  31. <title>Creazione di un elemento di un feed Atom con namespace personalizzato</title>
  32. <programlisting role="php"><![CDATA[<?php
  33. $entry = new Zend_Feed_Entry_Atom();
  34. // id è sempre assegnato dal server ad Atom
  35. $entry->title = 'il mio elemento personalizzato';
  36. $entry->author->name = 'Autore di Esempio';
  37. $entry->author->email = 'io@example.com';
  38. // ora esegue la parte personalizzata
  39. Zend_Feed::registerNamespace('mions', 'http://www.example.com/mions/1.0');
  40. $entry->{'mions:mioelemento_uno'} = 'il mio primo valore personalizzato';
  41. $entry->{'mions:contenitore_elem'}->parte1 = 'prima parte personalizzata';
  42. $entry->{'mions:contenitore_elem'}->parte2 = 'seconda parte personalizzata;
  43. echo $entry->saveXML();]]>
  44. </programlisting>
  45. </example>
  46. </sect1>
  47. <!--
  48. vim:se ts=4 sw=4 et:
  49. -->