| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.feed.modifying-feed">
- <title>Verändern der Feed- und Eintragsstruktur</title>
- <para>
- Die natürliche Syntax von <classname>Zend_Feed</classname> wurde für das Erstellen und
- Verändern von Feeds und Einträgen sowie das Lesen dieser erweitert. Du kannst die neuen oder
- veränderten Objekte einfach in wohlgeformtes <acronym>XML</acronym> umsetzen, um es als
- Datei zu speichern oder an einen Server zu senden.
- </para>
- <example id="zend.feed.modifying-feed.example.modifying">
- <title>Verändern eines bestehenden Feed Eintrags</title>
- <programlisting language="php"><![CDATA[
- $feed = new Zend_Feed_Atom('http://atom.example.com/feed/1');
- $entry = $feed->current();
- $entry->title = 'Dies ist ein neuer Titel';
- $entry->author->email = 'my_email@example.com';
- echo $entry->saveXML();
- ]]></programlisting>
- <para>
- Dies gibt eine vollständige (enthält den <command><?xml ... ></command> Prolog)
- <acronym>XML</acronym> Darstellung des neuen Eintrags aus, inklusive jedes notwendige
- <acronym>XML</acronym> Namensraumes.
- </para>
- <para>
- Beachte, dass das Obige auch funktioniert, wenn der existierende Eintrag noch keinen
- Autoren Tag beinhaltet. Du kannst soviele Ebenen von <command>-></command> Verweisen
- verwenden, wie Du möchtest, um auf eine Zuordnung zugreifen zu können; alle dieser
- zwischengeschalteten Stufen werden automatisch für dich erstellt wenn notwendig.
- </para>
- </example>
- <para>
- Wenn du einen anderen Namensraum als <command>atom:</command>, <command>rss:</command>, oder
- <command>osrss:</command> in deinem Eintrag verwenden möchtest, musst du den Namensraum mit
- <classname>Zend_Feed</classname> durch die Verwendung von
- <methodname>Zend_Feed::registerNamespace()</methodname> registrieren. Wenn du ein
- bestehendes Element veränderst, wird es immer den ursprünglichen Namensraum beibehalten.
- Wenn du ein neues Element hinzufügst, wird es den standardmäßigen Namensraum verwenden, wenn
- du nicht explizit einen anderen Namensraum festgelegt hast.
- </para>
- <example id="zend.feed.modifying-feed.example.creating">
- <title>Erstellen eines Atom Eintrags mit Elementen eines eigenen Namensraumes</title>
- <programlisting language="php"><![CDATA[
- $entry = new Zend_Feed_Entry_Atom();
- // Die ID wird immer vom Server in Atom zugewiesen
- $entry->title = 'mein eigener Eintrag';
- $entry->author->name = 'Beispiel Autor';
- $entry->author->email = 'me@example.com';
- // Nun erledige den eigenen Teil
- Zend_Feed::registerNamespace('myns', 'http://www.example.com/myns/1.0');
- $entry->{'myns:myelement_one'} = 'mein erster eigener Wert ';
- $entry->{'myns:container_elt'}->part1 = 'Erster verschachtelter Teil';
- $entry->{'myns:container_elt'}->part2 = 'Zweiter verschachtelter Teil';
- echo $entry->saveXML();
- ]]></programlisting>
- </example>
- </sect1>
|