Generieren Sie XML (RSS) mit Python

Einführung

Ich musste RSS ver2 mit Python ausgeben, machte mir aber eine Notiz, weil es zu diesem Zeitpunkt mehrmals Moos war.

Python hat eine hohe Affinität zu json, aber XML scheint umständlich. Ich habe einige Bibliotheken wie unten, aber ich kann nicht realisieren, was ich tun möchte.

Weise

Immerhin habe ich mich durch die Konvertierung von einem DOM-Objekt in XML beruhigt.

Beim Generieren einer Zeichenfolge aus einer XML-Vorlage

#!/usr/bin/env python
# coding: utf-8

from xml.dom.minidom import parseString

xml_template = "<rss version=\"2.0\">\
        <channel>\
            <title>title</title>\
            <link>link</link>\
            <description>desctiption</description>\
            <language>ja</language>\
        </channel></rss>"
dom = parseString(xml_template)

#Kanal-Knoten abrufen
channel = dom.getElementsByTagName("channel")[0]

#Elementknoten generieren
item = dom.createElement('item')
#Zum Kanalknoten hinzufügen
channel.appendChild(item)

#Subknotengenerierung
subnode = dom.createElement('subnode')
subnode.appendChild(dom.createTextNode("Japanisch ist auch in Ordnung"))
#Legen Sie Attribut und Wert in der Subnote fest
subnode_attr = dom.createAttribute('key')
subnode_attr.value = 'value'
subnode.setAttributeNode(subnode_attr)
#Fügen Sie dem Elementknoten einen Unterknotenknoten hinzu
item.appendChild(subnode)

#Konvertiere dom in xml und formatiere
print (dom.toprettyxml())

Ausgabe

<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>title</title>
    <link>link</link>
    <description>desctiption</description>
    <language>ja</language>
    <item>
      <subnode key="value">Japanisch ist auch in Ordnung</subnode>
    </item>
  </channel>
</rss>

Beim Generieren von XML aus 1

#!/usr/bin/env python
# coding: utf-8

import xml.dom.minidom

#Generieren eines DOM-Objekts
dom = xml.dom.minidom.Document()

#Erstellen und Hinzufügen von Stammknoten
root = dom.createElement('root')
dom.appendChild(root)

#Subknotengenerierung
subnode = dom.createElement('subnode')
subnode.appendChild(dom.createTextNode("Japanisch ist auch in Ordnung"))
#Legen Sie Attribut und Wert in der Subnote fest
subnode_attr = dom.createAttribute('key')
subnode_attr.value = 'value'
subnode.setAttributeNode(subnode_attr)
#Fügen Sie dem Elementknoten einen Unterknotenknoten hinzu
root.appendChild(subnode)

#Konvertiere dom in xml und formatiere
print (dom.toprettyxml())

Ausgabe

<?xml version="1.0"?>
<root>
  <subnode key="value">Japanisch ist auch in Ordnung</subnode>
</root>

Zusammenfassung

json am besten

Reference

Recommended Posts

Generieren Sie XML (RSS) mit Python
Scraping von RSS mit Python
Verarbeiten Sie Feedly-XML mit Python.
[Python] Generiere ein Passwort mit Slackbot
Verarbeiten Sie Pubmed .xml-Daten mit Python
FizzBuzz in Python3
Scraping mit Python
Statistik mit Python
Verarbeiten Sie Pubmed .xml-Daten mit Python [Teil 2]
Scraping mit Python
Python mit Go
Generieren Sie japanische Testdaten mit Python faker
Twilio mit Python
In Python integrieren
Spielen Sie mit 2016-Python
AES256 mit Python
Getestet mit Python
Python beginnt mit ()
mit Syntax (Python)
Bingo mit Python
Zundokokiyoshi mit Python
Excel mit Python
Mikrocomputer mit Python
Mit Python besetzen
Zusammenfassung des Bibliotheksvergleichs zum Generieren von PDF mit Python
Erzeugung von zwei korrelierten Pseudozufallszahlen (mit Python-Beispiel)
Versuchen Sie, Python-Dokumente automatisch mit Sphinx zu generieren
Generieren Sie mit Python eine Einfügeanweisung aus CSV.
Vergleichen Sie die XML-Parsing-Geschwindigkeiten mit Python und Go
Generiere n korrelierte Pseudozufallszahlen (mit Python-Beispiel)
Serielle Kommunikation mit Python
Zip, entpacken mit Python
Django 1.11 wurde mit Python3.6 gestartet
Primzahlbeurteilung mit Python
Python mit Eclipse + PyDev.
Socket-Kommunikation mit Python
Datenanalyse mit Python 2
Scraping in Python (Vorbereitung)
Python lernen mit ChemTHEATER 03
Sequentielle Suche mit Python
Führen Sie Python mit VBA aus
Umgang mit Yaml mit Python
Löse AtCoder 167 mit Python
Serielle Kommunikation mit Python
[Python] Verwenden Sie JSON mit Python
Python lernen mit ChemTHEATER 05-1
Lerne Python mit ChemTHEATER
Führen Sie prepDE.py mit python3 aus
1.1 Erste Schritte mit Python
Tweets mit Python sammeln
Binarisierung mit OpenCV / Python
3. 3. KI-Programmierung mit Python
Kernel-Methode mit Python
Nicht blockierend mit Python + uWSGI
Scraping mit Python + PhantomJS
Analysieren Sie XML in Python
Tweets mit Python posten
Fahren Sie WebDriver mit Python
Verwenden Sie Mecab mit Python 3
[Python] Mit CGIHTTPServer umleiten
Sprachanalyse mit Python