锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

用python从URL解析XML

时间:2023-08-28 02:07:00 te力传感器fn3002

我试图从url解析xml。在

一开始我的代码是这样的:from xml.dom import minidom

xmldoc = minidom.parse('all.xml')

Sensor0Elm = xmldoc.getElementsByTagName('t0')

Sensor1Elm = xmldoc.getElementsByTagName('t1')

Sensor2Elm = xmldoc.getElementsByTagName('t2')

Sensor0Elm = Sensor0Elm[0]

Sensor1Elm = Sensor1Elm[0]

Sensor2Elm = Sensor2Elm[0]

Sensor0 = Sensor0Elm.childNodes[0].data

Sensor1 = Sensor1Elm.childNodes[0].data

Sensor2 = Sensor2Elm.childNodes[0].data

Sensor0 = float(Sensor0)

Sensor1 = float(Sensor1)

Sensor2 = float(Sensor2)

在这个例子中,我想分析一下xml文件在我的本地硬盘上,结果非常完美!

下一步是从url解析xml。allnet传感器将继续使用xml通过可访问浏览器访问以下数据插入网络url:192.168.60.242/xml

这是嵌入的xml:

^{pr2}$

所以我把代码改成:import urllib

import time

while True:

### XML Extraction ###

from xml.dom import minidom

allxml = urllib.urlopen("http://192.168.60.242/xml")

allxml_string = allxml.read()

allxml.close()

print allxml_string

xmldoc = minidom.parseString(allxml_string)

Sensor0Elm = xmldoc.getElementsByTagName('t0')

Sensor1Elm = xmldoc.getElementsByTagName('t1')

Sensor2Elm = xmldoc.getElementsByTagName('t2')

Sensor0Elm = Sensor0Elm[0]

Sensor1Elm = Sensor1Elm[0]

Sensor2Elm = Sensor2Elm[0]

Sensor0 = Sensor0Elm.childNodes[0].data

Sensor1 = Sensor1Elm.childNodes[0].data

Sensor2 = Sensor2Elm.childNodes[0].data

Sensor0 = float(Sensor0)

Sensor1 = float(Sensor1)

Sensor2 = float(Sensor2)

不幸的是,它不起作用。如实施,将返回以下内容:

(通过使用print()函数,可以xml正确插入te程序。唯一的问题似乎是parse进一步处理函数。

请参见以下错误信息Python 2.7.3 (default, Mar 18 2014, 05:13:23)

[GCC 4.6.3] on linux2

Type "copyright", "credits" or "license()" for more information.

>>> ================================ RESTART ================================

>>>

ALL4000

0 1.09 0.00 2.55-55150102

1 2.52 2.32 10487.04-55

150

102

2 2.45 0.00 2.55-55

150

102

3-20480.00 0.00 5580.80-55

150

0

4-20480.00 40.96 41943.04-55

150

0

5-20480.00 10.24 0.08-55

150
0

6-20480.00 0.00-20480.00-55

150
0

7-20480.00 0.00 0.00-551500

8-20480.00 336855.04 1342177.28-551500

9-20480.00 0.00 0.00-551500

10-20480.00 0.00 0.00-551500

11-20480.00 0.00 0.00-551500

12-20480.00 0.00 0.00-551500

13-20480.00 0.00 0.00-551500

14-20480.00 0.00 0.00-551500

15-20480.00 0.00 0.00-551500

100

200

300

400

500

600

700

800

900

1000

1100

1200

1300

1400

1500

1600

00

10

20

30

2482542552551281255255

06.08.200606:45:461-1100

18856004250482.89ALL4000

53

Traceback (most recent call last):

File "/home/pi/Desktop/sig_v3.py", line 14, in

xmldoc = minidom.parseString(allxml_string)

File "/usr/lib/python2.7/xml/dom/minidom.py", line 1930, in parseString

return expatbuilder.parseString(string)

File "/usr/lib/python2.7/xml/dom/expatbuilder.py", line 940, in parseString

return builder.parseString(string)

File "/usr/lib/python2.7/xml/dom/expatbuilder.py", line 223, in parseString

parser.Parse(string, True)

ExpatError: mismatched tag: line 1, column 86

希望有人能帮我解决这个问题。

谢谢

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章