我在python脚本中有以下代码行:
dep11 = ET.SubElement(dep1, "POVCode").text = "#declare lg_quality = LDXQual;
#if (lg_quality = 3)
#declare lg_quality = 4;
#end"
我的问题是关于

字符。我想在XML输出中看到这个字符实体,但是第一个和号一直被替换为&
字符实体,它创建了无意义字符实体

。你知道吗
我将文件编码为utf-8
。你知道吗
import xml.etree.ElementTree as ET
...
with open("LGEO.xml", "wb") as f:
tree.write(f, "utf-8")
最后我得到了:
<POVCode>#declare lg_quality = LDXQual;&#x0A;#if (lg_quality = 3)&#x0A;#declare lg_quality = 4;&#x0A;#end</POVCode>
不知道我做错了什么。你知道吗
[编辑]
我试图实现@mzjn在这里指出的解决方案。你知道吗
How to output XML entity references
我有六行代码:
dep11 = ET.SubElement(dep1, "POVCode")
dep21 = ET.SubElement(dep2, "POVCode")
dep11.text = "#declare lg_quality = LDXQual;&
#if (lg_quality = 3)&
#declare lg_quality = 4;&
#end"
dep21.text = "#declare lg_studs = LDXStuds;&
"
ET.tostring(dep11).replace('&&', '&')
ET.tostring(dep21).replace('&&', '&')
我没有得到任何错误,但是当我write
树时,结果与之前没有任何不同。你知道吗
我又被困住了。你知道吗
我最终使用的是标准的Python
write
函数,而不是ElementTree自己的write
函数。你知道吗以上是Python代码的最后一步。我不知道把根对象转换成这样的字符串是否有缺点。它可以慢一点,但对我来说很管用。你知道吗
相关问题 更多 >
编程相关推荐