Renommer la balise avec un espace de noms en lxml

from lxml import etree

class ElementsTagReplacer:
    """replace tag name with namespaces."""
    def __init__(self):
        self.encoding = 'utf-8'
        self.parser = etree.XMLParser(encoding=self.encoding)
        self.namespaces = {'media': "http://search.yahoo.com/mrss/"}

    def replace(self, xml):
        if isinstance(xml, str):
            xml = xml.encode(self.encoding, 'ignore')

        root = etree.fromstring(xml, parser=self.parser)

        for analytics_gn in root.iterfind('.//media:thumbnail', namespaces=self.namespaces):
            analytics_gn.tag = "{%s}image" % analytics_gn.nsmap['media']

        return etree.tostring(root, encoding='utf-8').decode('utf-8', 'ignore')


replaced_xml = ElementsTagReplacer().replace(xml)

Recommended Posts

Renommer la balise avec un espace de noms en lxml
Spécifiez le nom du projet de docker-compose avec l'intégration Docker de Pycharm
Réécrivez le nœud d'ajout d'enregistrement de SPSS Modeler avec Python.
Obtenez le nom d'hôte du PC hôte avec Docker sous Linux
Réécrire le nœud d'échantillonnage de SPSS Modeler avec Python (2): échantillonnage en couches, échantillonnage en grappes
Alignez la taille de la barre de couleurs avec matplotlib
Vérifier l'existence du fichier avec python
[Python] Récupère le nom de la variable avec str
[Python3] Réécrire l'objet code de la fonction
La troisième nuit de la boucle avec pour
La deuxième nuit de la boucle avec pour
Définissez le nom du processus du programme Python
Compter le nombre de caractères avec écho
Réécrire le nœud d'échantillonnage de SPSS Modeler avec Python ①: N premiers cas, échantillonnage aléatoire
L'histoire de l'apprentissage profond avec TPU
Remarque: préparez l'environnement de CmdStanPy avec docker
Préparer l'environnement d'exécution de Python3 avec Docker
(Remarque) Importation d'Excel avec le même nom de colonne
[Note] Exportez le html du site avec python.
Augmentez la taille de la police du graphique avec matplotlib
Calculez le nombre total de combinaisons avec python
Vérifiez la date du devoir de drapeau avec Python
Obtenez le nom de la branche git et le nom de la balise avec python
Éliminez les inconvénients du widget QDock avec PySide
Défiez la tour de Hanoi avec recurs + stack
Remplissez la largeur du bloc-notes Jupyter pour remplir le navigateur
Prédisez le deuxième tour de l'été 2016 avec scikit-learn
Vider le contenu de la base de données redis avec lua
Découvrez le jour par date / heure
La base de la théorie des graphes avec l'animation matplotlib
Visualisez le comportement de l'algorithme de tri avec matplotlib
Convertir le code de caractère du fichier avec Python3
[Python] Déterminez le type d'iris avec SVM
Contenu de __name__
Extraire le tableau des fichiers image avec OneDrive et Python
Obtenez le nom de la variable sous forme de chaîne de caractères.
Ajouter des attributs d'objets de classe avec une instruction for
Coordonnées les plus à droite de l'étiquette faite avec tkinter
L'histoire de l'arrêt du service de production avec la commande hostname
Apprenez Nim avec Python (dès le début de l'année).
Calculer la somme des valeurs uniques par tabulation croisée des pandas
Jouez avec l'implémentation de l'interface utilisateur de Pythonista 3 [Super Super Primer]
Ajoutez des informations au bas de la figure avec Matplotlib
Calculez la valeur totale de plusieurs colonnes avec awk
L'histoire du partage de l'environnement pyenv avec plusieurs utilisateurs
Détruire l'expression intermédiaire de la méthode sweep avec Python
Prenez des captures d'écran LCD avec Python-LEGO Mindstorms
Identifiez le nom de l'image de la fleur avec des keras (flux tenseur)
Visualisez la gamme d'insertions internes et externes avec python
Calculer le coefficient de régression d'une analyse de régression simple avec python
Prenez la valeur du thermo-hygromètre SwitchBot avec Raspberry Pi
Prédire le nombre de personnes infectées par COVID-19 avec Prophet
Changer les valeurs du thermo-hygromètre Bot avec Raspberry Pi
Découvrez l'emplacement des packages installés avec pip
Prédire le sexe des utilisateurs de Twitter grâce à l'apprentissage automatique
Essayez d'obtenir le contenu de Word avec Golang
Visualisez le vocabulaire caractéristique d'un document avec D3.js