[英]ValueError on writing lxml text
我有以下代码块来编写xml标签。 有时名称已经采用正确的格式(即不会出错),有时名称却不正确
if 'Name' in title_data:
name = etree.SubElement(info, 'Name')
try:
name.text = title_data['Name']
except ValueError:
name.text = title_data['Name'].decode('utf-8')
有没有一种方法可以简化此过程? 例如,类似以下内容的东西:
name.text = title_data['Name'] if (**something**) else title_data['Name'].decode('utf-8')
我假设您要避免为要设置的每个元素编写类似的代码。 这有尝试治疗症状而不是原因的味道,但是如果没有别的,您可以将其分解为一个辅助函数:
def assign_text(field, text):
try:
field.text = text
except ValueError:
field.text = text.decode("utf-8")
# ...
if "Name" in title_data:
name = etree.SubElement(info, "Name")
assign_text(name, title_data["Name"] or None)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.