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.
ExpatError
tritt auf, wenn Japanisch in das Tag-Element eingegeben wirdImmerhin habe ich mich durch die Konvertierung von einem DOM-Objekt in XML beruhigt.
#!/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>
#!/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>
json am besten
Reference
Recommended Posts