Python:xml.etree.ElementTree.ParseError:格式不正确(无效令牌)
我有给定的示例代码(其中包含一个xml变量),我想读取xml的一些属性,然后更新它们。更新后,我想使用requests.post发布它们。 我得到的错误是“格式不正确”的标记,我无法解析xml。 请指出代码中的错误Python:xml.etree.ElementTree.ParseError:格式不正确(无效令牌),python,xml,Python,Xml,我有给定的示例代码(其中包含一个xml变量),我想读取xml的一些属性,然后更新它们。更新后,我想使用requests.post发布它们。 我得到的错误是“格式不正确”的标记,我无法解析xml。 请指出代码中的错误 # -*- coding: utf-8 -*- from xml.etree import ElementTree as etree dataxml = """<APIDataMessage MessageID="747950743" SensorID=extref Messa
# -*- coding: utf-8 -*-
from xml.etree import ElementTree as etree
dataxml = """<APIDataMessage MessageID="747950743" SensorID=extref MessageDate=messagedate State="16" SignalStrength=random.randint(40,70) Voltage="2.83" Battery=random.randint(80,90) Data=random.randint(27,40) DisplayData="67.1° F" PlotValue="67.1" MetNotificationRequirements="False" GatewayID="106558" DataValues="19.5" DataTypes="TemperatureData" PlotValues="67.1" PlotLabels="Fahrenheit" />"""
parser = etree.XMLParser(encoding="utf-8")
root = etree.fromstring(dataxml, parser=parser)
root.set('SignalStrength',100)
print etree.tostring(root)
#-*-编码:utf-8-*-
从xml.etree导入ElementTree作为etree
数据XML=“”
parser=etree.XMLParser(encoding=“utf-8”)
root=etree.fromstring(dataxml,parser=parser)
root.set('SignalStrength',100)
打印etree.tostring(根目录)
根据我的要求,需要在代码中执行以下操作:
“
中,例如
。这是输入中的错误SensorID=extref MessageDate=MessageDate
set
方法中的字符串,即root.set('SignalStrength','100')
dataxml = """<APIDataMessage MessageID="747950743" SensorID="extref"\
MessageDate="messagedate" State="16" SignalStrength="%s" \
Voltage="2.83" Battery="%s" Data="%s" DisplayData="67.1° F" PlotValue="67.1" \
MetNotificationRequirements="False" GatewayID="106558" DataValues="19.5" \
DataTypes="TemperatureData" PlotValues="67.1" PlotLabels="Fahrenheit" />"""\
%(random.randint(40,70), random.randint(80,90), random.randint(27,40))
from xml.etree import ElementTree as etree
parser = etree.XMLParser(encoding="utf-8")
root = etree.fromstring(dataxml, parser=parser)
root.set('SignalStrength',"100")
print etree.tostring(root)
dataxml=“”\
%(random.randint(40,70),random.randint(80,90),random.randint(27,40))
从xml.etree导入ElementTree作为etree
parser=etree.XMLParser(encoding=“utf-8”)
root=etree.fromstring(dataxml,parser=parser)
root.set('SignalStrength',“100”)
打印etree.tostring(根目录)
1SensorID=extref MessageDate=MessageDate
accornf to XML文档属性值必须在“
中给出。例如,dataxml
中缺少此属性值。2.random.randint(27,40)是什么
表示这在XML中如何工作?random.randint将返回一个介于范围之间的随机值。但我知道它必须是字符串。