2
0

Zend_Feed-ModifyingFeed.xml 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 15854 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.feed.modifying-feed">
  5. <title>Verändern der Feed- und Eintragsstruktur</title>
  6. <para>
  7. Die natürliche Syntax von <classname>Zend_Feed</classname> wurde für das Erstellen und
  8. Verändern von Feeds und Einträgen sowie das Lesen dieser erweitert. Du kannst die neuen oder
  9. veränderten Objekte einfach in wohlgeformtes XML umsetzen, um es als Datei zu speichern oder
  10. an einen Server zu senden.
  11. </para>
  12. <example id="zend.feed.modifying-feed.example.modifying">
  13. <title>Verändern eines bestehenden Feed Eintrags</title>
  14. <programlisting language="php"><![CDATA[
  15. $feed = new Zend_Feed_Atom('http://atom.example.com/feed/1');
  16. $entry = $feed->current();
  17. $entry->title = 'Dies ist ein neuer Titel';
  18. $entry->author->email = 'my_email@example.com';
  19. echo $entry->saveXML();
  20. ]]></programlisting>
  21. <para>
  22. Dies gibt eine vollständige (enthält den <code>&lt;?xml ... &gt;</code> Prolog) XML
  23. Darstellung des neuen Eintrags aus, inklusive jedes notwendige XML Namensraumes.
  24. </para>
  25. <para>
  26. Beachte, dass das Obige auch funktioniert, wenn der existierende Eintrag noch keinen
  27. Autoren Tag beinhaltet. Du kannst soviele Ebenen von <code>-&gt;</code> Verweisen
  28. verwenden, wie Du möchtest, um auf eine Zuordnung zugreifen zu können; alle dieser
  29. zwischengeschalteten Stufen werden automatisch für dich erstellt wenn notwendig.
  30. </para>
  31. </example>
  32. <para>
  33. Wenn du einen anderen Namensraum als <code>atom:</code>, <code>rss:</code>, oder
  34. <code>osrss:</code> in deinem Eintrag verwenden möchtest, musst du den Namensraum mit
  35. <classname>Zend_Feed</classname> durch die Verwendung von
  36. <classname>Zend_Feed::registerNamespace()</classname> registrieren. Wenn du ein bestehendes
  37. Element veränderst, wird es immer den ursprünglichen Namensraum beibehalten. Wenn du ein
  38. neues Element hinzufügst, wird es den standardmäßigen Namensraum verwenden, wenn du nicht
  39. explizit einen anderen Namensraum festgelegt hast.
  40. </para>
  41. <example id="zend.feed.modifying-feed.example.creating">
  42. <title>Erstellen eines Atom Eintrags mit Elementen eines eigenen Namensraumes</title>
  43. <programlisting language="php"><![CDATA[
  44. $entry = new Zend_Feed_Entry_Atom();
  45. // Die ID wird immer vom Server in Atom zugewiesen
  46. $entry->title = 'mein eigener Eintrag';
  47. $entry->author->name = 'Beispiel Autor';
  48. $entry->author->email = 'me@example.com';
  49. // Nun erledige den eigenen Teil
  50. Zend_Feed::registerNamespace('myns', 'http://www.example.com/myns/1.0');
  51. $entry->{'myns:myelement_one'} = 'mein erster eigener Wert ';
  52. $entry->{'myns:container_elt'}->part1 = 'Erster verschachtelter Teil';
  53. $entry->{'myns:container_elt'}->part2 = 'Zweiter verschachtelter Teil';
  54. echo $entry->saveXML();
  55. ]]></programlisting>
  56. </example>
  57. </sect1>
  58. <!--
  59. vim:se ts=4 sw=4 et:
  60. -->