0
votes

Python: dans un XML, comment supprimer des nœuds avec une certaine condition

J'ai un fichier XML: xxx

Comment supprimer ces phrases sans opinion? Et laissé ces phrases où le texte a une opinion? Je voudrais obtenir quelque chose comme ça: xxx


1 commentaires

Votre XML n'est pas bien informé car le nœud vide Opinions a besoin d'une étiquette de fermeture.


3 Réponses :


2
votes

Je convertirais le XML en un dict à l'aide de ce module, par exemple: Comment convertir une chaîne XML en un dictionnaire? , filtrer les nœuds que vous ne voulez pas et que vous ne voulez pas et que vous reconvertiez à XML ....


0 commentaires

1
votes

envisager d'utiliser XSLT , la langue spéciale conçue pour transformer des documents XML. Spécifiquement, exécutez la transformation de l'identité puis un modèle vide sur phrase em> avec condition nécessaire.

xslt strong> (Enregistrer sous forme de fichier .xml, un fichier .xml spécial. ) EM> p> xxx pré>

Démo kbd> p>

Python strong> (Utilisation du module tiers, lxml code>) p> P> P >

import lxml.etree as et 

doc = et.parse('/path/to/Input.xml') 
xsl = et.parse('/path/to/Script.xsl') 

# CONFIGURE TRANSFORMER 
transform = et.XSLT(xsl) 

# TRANSFORM SOURCE DOC 
result = transform(doc) 

# OUTPUT TO CONSOLE 
print(result) 

# SAVE TO FILE 
with open('Output.xml', 'wb') as f: 
   f.write(result)


0 commentaires

1
votes

Utilisation de la bibliothèque XML intégrée (Elementtree).

Remarque: le XML que vous avez affiché n'était pas valide et je devais le réparer. p>

<?xml version="1.0" encoding="UTF-8"?>
<Reviews>
   <Review rid="1004293">
      <sentences>
         <sentence id="1004293:2">
            <text>They never brought us complimentary noodles, ignored repeated requests for sugar, and threw our dishes on the table.</text>
            <Opinions>
               <Opinion category="SERVICE#GENERAL" from="0" polarity="negative" target="NULL" to="0" />
            </Opinions>
         </sentence>
      </sentences>
   </Review>
</Reviews>


2 commentaires

Merci beaucoup, pourriez-vous s'il vous plaît veuillez fournir la méthode de fixation de fichier XML car c'est le fichier d'origine et je viens de le télécharger.


J'ai corrigé le XML à la main. Il n'y a pas de «méthode»