1
我正在检查包含所有子元素的XML元素中的文本信息的MD5哈希值。这是与hipay服务交互所必需的。有没有一种方法可以从ElementTree元素中获取逐字字符串?
def CheckMD5(tree):
m = hashlib.md5()
body = tree.find('result')
m.update(ET.tostring(ET.ElementTree(body).getroot(), method="html"))
return tree.find('md5content').text == m.hexdigest()
全码: https://github.com/fabiosantoscode/python-hipay/blob/master/hipay.py#L566
我的问题是,调用ElementTree.tostring
与method="xml"
,使空元素的ElementTree的崩溃结束标记,但使用method="html"
我失去了资本。例如:
>>> ET.tostring(ET.fromstring('<rt><a></a><CapName>asd</CapName></rt>'), method='xml')
'<rt><a /><CapName>asd</CapName></rt>'
>>> ET.tostring(ET.fromstring('<rt><a></a><CapName>asd</CapName></rt>'), method='html')
'<rt><a></a><CapName>asd</capname></rt>'
>>>
注:
我并不需要在所有修改这个XML文档,我只需要提取<result>
元素的字符串数据。如果有其他图书馆允许我这样做,请注明。
没错。非常感谢你! – 2013-03-19 16:32:34