[英]Convert unicode to xml string
我有一个unicode字符串,定义为
data= u'<project> <DataRuleDefinitions> <DataRuleDefinition name="dummy_def">
<ExecutableRule name="rule_dummy_def" excludeDuplicates="false"
folder="14_A_Loan_Loss_Projections;All"><Bindings> <Binding var="field"><Columnname="CLL_IA_SNAPSHOT.prod_files.prod_files."CLL_201706.csv".AccrualStatusChangeDate"/> </Binding> </Bindings> </ExecutableRule> </DataRuleDefinition>
</DataRuleDefinitions> </project>'
我确实尝试使用以下思路将其转换为xml:
import xml.etree.ElementTree as ET
tree = ET.fromstring(data)
但是我遇到以下错误:
ParseError: not well-formed (invalid token): line 1, column 326
我能否得到帮助以纠正此错误并将此unicode转换为xml?
有两个主要问题,而且似乎都不是从Unicode到XML转换的问题。 您的错误所提到的问题是格式不正确的XML,从而导致ParseError
。
问题在于以下几行XML:
<Columnname="CLL_IA_SNAPSHOT.prod_files.prod_files."CLL_201706.csv".AccrualStatusChangeDate"/>
元素名称中不允许带有等号,请将此数据分配给val属性(属性名称可以是任何东西):
<Columnname val="CLL_IA_SNAPSHOT.prod_files.prod_files."CLL_201706.csv".AccrualStatusChangeDate"/>
仍然有一个问题。 引用val周围,但也引用val的值。 我们可以删除它们,对其进行转义或使用其他引号封装:
<Columnname val="CLL_IA_SNAPSHOT.prod_files.prod_files.'CLL_201706.csv'.AccrualStatusChangeDate"/>
现在您应该没有问题了。 如果您想检查XML是否良好,可以使用在线XML漂亮打印机 ,其中有很多 。 他们应该告诉您XML格式是否不正确。 祝好运!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.