python中的xml2array

python中的xml2array,python,matplotlib,lxml,Python,Matplotlib,Lxml,file.xml包含以下数据结构: <table> <row> <x>10</x> <t>10:00</t> </row> <row> <x>20</x> <t>10:05</t> </row> </table> 10 10:00 20 10:05 我有一百对x,t。我需要画x和t。 如果您能帮助我

file.xml包含以下数据结构:

<table>
 <row>
   <x>10</x>
   <t>10:00</t>
</row>
<row>
   <x>20</x>
   <t>10:05</t>
</row>
</table>

10
10:00
20
10:05
我有一百对x,t。我需要画x和t。 如果您能帮助我解决python和matplotlib的问题,我将不胜感激。

将lxml.etree作为ET导入
import lxml.etree as ET
import matplotlib.pyplot as plt

text='''\
<table>
 <row>
   <x>10</x>
   <t>10:00</t>
</row>
<row>
   <x>20</x>
   <t>10:05</t>
</row>
</table>
'''

def convert_t(text):
    a,b=map(float,t.split(':'))
    return a+b/60.0

doc=ET.fromstring(text)
x=[float(x) for x in doc.xpath('//x/text()')]
t=[convert_t(t) for t in doc.xpath('//t/text()')]
plt.plot(x,t)
plt.show()
将matplotlib.pyplot作为plt导入 文本='''\ 10 10:00 20 10:05 ''' def转换(文本): a、 b=映射(浮点,t.split(':')) 返回a+b/60.0 doc=ET.fromstring(文本) x=[doc.xpath('//x/text()')中x的浮点(x)] t=[doc.xpath('//t/text()')中t的转换(t)] plt.绘图(x,t) plt.show()
  • 上述代码假定
    10:05
    表示10分钟,5分钟 秒。它使用
    convert
    将其转换为浮点
  • 添加了一个结束符
    ,以使XML有效