Analyser le XML cassé avec lxml

lxml analyse le XML basé sur libxml2, mais BeautifulSoup analyse le XML basé sur des expressions régulières, de sorte que vous pouvez analyser le XML cassé comme celui ci-dessous.

Lxml fournit l'interface suivante pour les situations où vous souhaitez utiliser lxml pour la vitesse, mais vous pouvez avoir besoin de BeautifulSoup, et vous vous demandez lequel utiliser.

Supposons que l'entrée soit du XML cassé comme celui ci-dessous.

<piyo>bar</piyo>
<piyo>hoge</piyo>

résultat

python


In [1]: from lxml import etree
In [2]: with open('hoge') as f:
   ...:     xml=etree.fromstring(f.read())
   ...:       File "<string>", line unknown XMLSyntaxError: Extra content at the end of the document, line 2, column 1

python


In [3]: from lxml.html.soupparser import fromstring

In [4]: with open('hoge') as f:
   ...:     xml=fromstring(f.read())
   ...:

In [5]: for piyo in xml.findall('piyo'): print piyo.text.strip()
bar
hoge

référence

http://lxml.de/elementsoup.html

Recommended Posts

Analyser le XML cassé avec lxml
Analyser XML en Python
analyse json avec gdb
Générer du XML (RSS) avec Python
Traitez le XML avec Python.
Analyser les données pcap avec la commande tshark
Traiter les données Pubmed .xml avec python