ubuntuusers.de

Wordpress XML-File in Textverarbeitung

Status: Gelöst | Ubuntu-Version: Kubuntu 26.04 (Resolute Raccoon)
Antworten |

OrionVII

Avatar von OrionVII

Anmeldungsdatum:
19. Juli 2009

Beiträge: 673

Wohnort: Wohnmobil an der Algarve

Hallo zusammen,

habe mehrere Blogs auf Wordpress (Reiseerlebnisse etc...) Nun möchte ich die in eine Textverarbeitung als Klartext importieren. Das XML-File habe ich, aber wie bekomme ich es einfach lesbar?

von.wert

Anmeldungsdatum:
23. Dezember 2020

Beiträge: 14601

Welches "XML-File"?

Ziehe ich ein Backup, ist das eine .sql-Datenbank, nun wahrlich nichts für eine Textverarbeitung. Wenn man eine Website aus einem Browser speichert, kann man das als .html. Das kann man dann zumindest wieder in einem Browser anzeigen lassen (was aber nicht gleich aussieht, es sei denn, die ist wirklich einfach gestrickt oder sämtliche Files sind dabei und die Links funktionieren so noch).

Falls das tatsächlich ein .xml-File ist, eine Textverarbeitung nützt Dir da gar nichts. Du kannst es zwar mit xml2 (in universe) versuchen, naja.

Ich weiß ja nicht, welchen Umfang das Ganze hat. Wenn Du mit c&p die einzelnen Artikel vom Browser in einen Texteditor bringst, dürfte das am ehesten praktikabel sein. Vernünftig formatieren wirst Du es eh müssen. Handarbeit.

OrionVII

(Themenstarter)
Avatar von OrionVII

Anmeldungsdatum:
19. Juli 2009

Beiträge: 673

Wohnort: Wohnmobil an der Algarve

von.wert schrieb:

Welches "XML-File"?

Ziehe ich ein Backup, ist das eine .sql-Datenbank,

WP bietet an vom gesamten Inhalt eines Blogs einen Export zu erstellen. In einem meiner Fälle wird dann diese Datei erstellt: ichbindannauchmalweg.WordPress.2026-07-22.XML Ich kann die Datei mit FF öffnen, erhalte aber die Info: Mit dieser XML-Datei sind anscheinend keine Style-Informationen verknüpft. Nachfolgend wird die Baum-Ansicht des Dokuments angezeigt. Und dann am Kopf der Datei: This is a WordPress eXtended RSS file generated by WordPress as an export of your site. It contains information about your site's posts, pages, comments, categories, and other content. You may use this file to transfer that content from one site to another. Ich finde natürlich in dem ganzen Wust die Texte, aber z.B. nur Verweise auf die Bilder. Ich seh schon, das wird Handarbeit ...

von.wert

Anmeldungsdatum:
23. Dezember 2020

Beiträge: 14601

Ach, Du meinst Tools/Export. Tja, auch wenn man da "All content" wählt, man genau das annimmt, da man vor allem unten stattdessen auch "Media" anwählen kann (dann gibt's einen Zeitraum), mehr als dieses .xml wird's trotzdem nicht, also keine Bilder, nur enthaltene <wp:attachment_url>-Tags. Vor allem nicht anzeigbar "in schön".

Das zu XML Gesagte bleibt bestehen. xml2 mittlerweile ausprobiert?

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11309

Wohnort: München

https://duanestorey.com/posts/migrating-away-from-wordpress-part-one hat da zum Beispiel einen Ansatz das mit lonekorean/wordpress-export-to-markdown nach Markdown zu konvertieren - von da kann man mit pandoc in andere Formate wie ODF gehen.

von.wert

Anmeldungsdatum:
23. Dezember 2020

Beiträge: 14601

Ich hab' xmlto (der Originalname) unter Arch mit einem WP-Export-xml-File getestet. Kurz und schmerzlos: dafür ist es völlig unbrauchbar.

Der Markdown-Vorschlag ist auf jeden Fall interessant, schon, weil es verschiedene Ansätze für Markdown in WordPress gibt, also nicht nur Export nach MD, sondern Arbeiten mit einem MD-Editor in WP. Es bleibt aber stets ein Fremdkörper, leider, sonst hätte ich da längst umgestellt, um einen anständigen Editor zu haben (was in WP wohl nie passieren wird). Nicht nativ bedeutet hier, man kann in MD schreiben, das wird dann unter der Haube für WP verständlich konvertiert und gespeichert. Ändern kann man dann i.d.R. aber nicht (es gibt schon einen Weg, Zurückwandeln, Ändern, wieder nach MD - eine Frage des Aufwands mit allem Drum und Dran, dabei ist WP so schon nicht besonders flink, fehlerfrei sowieso nicht).

Aber Du willst ja nur one-way. Es muß nicht das vorgeschlagene Plugin sein (das liegt nicht bei WP, muß über ftp bzw. je nach Möglichkeit manuell kopiert werden):

https://wordpress.org/plugins/search/export+to+markdown/

OrionVII

(Themenstarter)
Avatar von OrionVII

Anmeldungsdatum:
19. Juli 2009

Beiträge: 673

Wohnort: Wohnmobil an der Algarve

seahawk1986 schrieb:

https://duanestorey.com/posts/migrating-away-from-wordpress-part-one hat da zum Beispiel einen Ansatz das mit lonekorean/wordpress-export-to-markdown nach Markdown zu konvertieren - von da kann man mit pandoc in andere Formate wie ODF gehen.

Hammer! Also, ich bin ja nun wirklich kein Liebhaber der Befehlszeile, aber das habe ich tatsächlich hinbekommen. Einen Blogeintrag habe ich dann online als Test auf Lesbarkeit umwandeln lassen; einwandfrei! Es wird zwar doch viel Arbeit auf mich zukommen, aber kein Vergleich mit c&p.

Danach habe ich dann mit pandoc direkt ein md nach odt umgewandelt: pandoc 5g-und-ein-schreibtisch.md -o 5g-und-ein-schreibtisch.odt. Die Grafiken sind zwar nicht 100% angepasst, aber das kann ich locker verschmerzen.

Danke an alle Helferlein!

homer65

Avatar von homer65

Anmeldungsdatum:
8. November 2005

Beiträge: 612

Wohnort: bochum, germany

Scheinbar habt Ihr schon eine Lösung gefunden. ☺ Ich wollte noch anmerken, das es mit XSLT andere Lösungen geben kann: https://stackoverflow.com/questions/8800269/xslt-to-convert-xml-to-text Habe zwar selber keine Ahnung wie das genau funktioniert, aber nur mal als Idee.

Edit:

Kurze Recherche ergibt mit SAXON als XSLT Prozezor:

java -jar saxon.jar -s:eingabe.xml -xsl:transform.xsl -o:ausgabe.out

Die Schwierigkeit ist es die passende transform.xsl zu erstellen.

Edit:

Z.B.: gibte es https://gist.github.com/tts/4977062

Edit: So einfach ist es doch nicht. Habs direkt mal mit meiner Wordpress Seite ausprobiert. Funktioniert leider nicht. Die ausgegebene HTML ist sehr karg. Will sagen es ssteht fast nichts drin. ☹

homer65

Avatar von homer65

Anmeldungsdatum:
8. November 2005

Beiträge: 612

Wohnort: bochum, germany

Habe ein verbessertes XSL Stylesheet gefunden: Edit: sogar mit sortierter Ausgabe

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:excerpt="http://wordpress.org/export/1.2/excerpt/"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:wfw="http://wellformedweb.org/CommentAPI/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:wp="http://wordpress.org/export/1.2/"
    exclude-result-prefixes="excerpt content wfw dc wp">

    <xsl:output method="html" encoding="UTF-8" indent="yes"/>

    <!-- Haupt-Template: Trifft auf die RSS-Wurzel zu -->
    <xsl:template match="/rss">
        <html>
        <head>
            <title>WordPress Export Konvertierung</title>
            <style>
                body { font-family: sans-serif; margin: 20px; line-height: 1.6; color: #333; }
                .post { border-bottom: 1px solid #ccc; padding-bottom: 20px; margin-bottom: 20px; }
                .meta { color: #666; font-size: 0.9em; background: #f9f9f9; padding: 5px 10px; inline-size: fit-content; }
                .content { margin-top: 15px; }
            </style>
        </head>
        <body>
            <h1>Exportierte Beiträge</h1>
            <!-- Filtert nach Objekten, die vom Typ 'post' und veröffentlicht sind -->
            <xsl:apply-templates select="channel/item[wp:post_type='post' and wp:status='publish']">
				<xsl:sort select="wp:post_date" order="descending" data-type="text"/>
			</xsl:apply-templates>
        </body>
        </html>
    </xsl:template>

    <!-- Template für die einzelnen Beiträge -->
    <xsl:template match="item">
        <div class="post">
            <h2><xsl:value-of select="title"/></h2>
            
            <div class="meta">
                <strong>Veröffentlicht am:</strong> <xsl:value-of select="pubDate"/> | 
                <strong>Autor:</strong> <xsl:value-of select="dc:creator"/> |
                <strong>Post-ID:</strong> <xsl:value-of select="wp:post_id"/>
            </div>

            <div class="content">
                <!-- Verarbeitet den WordPress-Content (wird als CDATA ausgespuckt) -->
                <xsl:value-of select="content:encoded" disable-output-escaping="yes"/>
            </div>
        </div>
    </xsl:template>

</xsl:stylesheet>

Antworten |