J'ai dû sortir RSS ver2 avec Python, mais j'ai fait une note car c'était de la mousse à plusieurs reprises à ce moment-là.
Python a une forte affinité avec json, mais XML semble gênant. J'ai quelques bibliothèques comme ci-dessous, mais je ne peux pas réaliser ce que je veux faire.
lastUpdate
.Après tout, je me suis installé en convertissant un objet DOM en XML.
#!/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)
#Obtenir le nœud de canal
channel = dom.getElementsByTagName("channel")[0]
#Générer un nœud d'élément
item = dom.createElement('item')
#Ajouter au nœud de canal
channel.appendChild(item)
#Génération de sous-nœuds
subnode = dom.createElement('subnode')
subnode.appendChild(dom.createTextNode("Le japonais est également OK"))
#Définir l'attribut et la valeur dans la sous-note
subnode_attr = dom.createAttribute('key')
subnode_attr.value = 'value'
subnode.setAttributeNode(subnode_attr)
#Ajouter un nœud de sous-nœud au nœud d'élément
item.appendChild(subnode)
#Convertir dom en xml et formater
print (dom.toprettyxml())
production
<?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">Le japonais est également OK</subnode>
</item>
</channel>
</rss>
#!/usr/bin/env python
# coding: utf-8
import xml.dom.minidom
#Générer un objet DOM
dom = xml.dom.minidom.Document()
#Création et ajout de nœuds racine
root = dom.createElement('root')
dom.appendChild(root)
#Génération de sous-nœuds
subnode = dom.createElement('subnode')
subnode.appendChild(dom.createTextNode("Le japonais est également OK"))
#Définir l'attribut et la valeur dans la sous-note
subnode_attr = dom.createAttribute('key')
subnode_attr.value = 'value'
subnode.setAttributeNode(subnode_attr)
#Ajouter un nœud de sous-nœud au nœud d'élément
root.appendChild(subnode)
#Convertir dom en xml et formater
print (dom.toprettyxml())
production
<?xml version="1.0"?>
<root>
<subnode key="value">Le japonais est également OK</subnode>
</root>
json meilleur
Reference
Recommended Posts