【发布时间】:2016-05-04 04:35:38
【问题描述】:
我有给定的示例代码(其中包含一个 xml 变量),我想读取 Xml 的一些属性,然后更新它们。更新后,我想使用 requests.post 发布它们。 我收到错误为“格式不正确”的令牌,我无法解析 xml。 请提出代码中的问题。
# -*- 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)
【问题讨论】:
-
1.
SensorID=extref MessageDate=messagedate与 XML 文档的属性值一致,必须在"中给出,例如。 dataxml中缺少此内容。 2. 什么是random.randint(27,40)表示这将如何在 XML 中工作? -
random.randint 将返回范围之间的随机值。但是,是的,我知道它必须是字符串。