编辑:我的特别问题是忽略名称空间,结合下面的答案提供了一个解决方案
试图解析和存储来自Mt Connect代理的XML响应,不确定如何访问节点中的特定数据段。尝试在覆盖项之后立即访问并隔离“100”
它不是作为属性出现的,我无法传递父节点来获取值。我相信这很简单,但我对xml和编程基本上是新手,不知道在哪里可以找到答案。感谢任何帮助或指导
源xml的片段:
<AxisFeedrate dataItemId="rovrd" timestamp="2021-03-22T19:26:22.643Z" sequence="7" name="RapidOverride" subType="OVERRIDE">100</AxisFeedrate>
代码:
import xml.sax
class GroupHandler(xml.sax.ContentHandler):
def startElement(self, name, attrs):
self.current = name
if self.current == "AxisFeedrate":
print("-----AxisFeedrate-----")
print("dataItemId = {}".format(attrs['dataItemId']))
print("timestamp = {}".format(attrs['timestamp']))
print("sequence = {}".format(attrs['sequence']))
print("name = {}".format(attrs['name']))
print("subType = {}".format(attrs['subType']))
handler = GroupHandler()
parser = xml.sax.make_parser()
parser.setContentHandler(handler)
parser.parse('umc500_xml_sample.xml')'''
结果:
-----AxisFeedrate-----
dataItemId = rovrd
timestamp = 2021-03-22T19:26:22.643Z
sequence = 7
name = RapidOverride
subType = OVERRIDE
使用元素树
输出
相关问题 更多 >
编程相关推荐