Nur numerischen XML-Text analysieren und zählen, einschließlich e-00 oder e + 01
Ich bin ein Python-Neuling. Ich versuche, durch eine XML-Datei zu analysieren und alle Texteingaben zu zählen, die alle numerisch sind, einschließlich angenäherter Werte mit e- oder e +. Z.B. In Anbetracht des folgenden Pseudocodes (jerry.xml),
<data>
<country name="Liechtenstein">
<rank updated="yes">2</rank>
<language>english</language>
<currency>1.21$/kg</currency>
<gdppc>141100</gdppc>
<gdpnp>2.304e+0150</gdpnp>
<neighbor name="Austria" direction="E"/>
<neighbor name="Switzerland" direction="W"/>
</country>
<country name="Singapore">
<rank updated="yes">5</rank>
<language>english</language>
<currency>4.1$/kg</currency>
<gdppc>59900</gdppc>
<gdpnp>5.2e-015</gdpnp>
<neighbor name="Malaysia" direction="N"/>
</country>
Ich würde gerne 6 zurückgeben, nachdem ich 2, 141100, 2.304e + 0150, 5, 59900 und 5.2e-015 gezählt habe, ohne Englisch, 1,21 $ / kg oder 4,1 $ / kg.
Jede Hilfe wäre dankbar. Vorerst habe ich folgendes.
import xml.etree.ElementTree as ET
tree = ET.parse("jerry.xml")
root = tree.getroot()
for text in root.itertext():
print repr(text)
charlie = file.writelines(root.itertext())
count = sum(element.firstChild.nodeValue.find(r'\d+') for element in xmldoc.getElementsByTagName('jerry.xml'))