首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在将xml树写回文件之后,python在结束标记上会导致不同的风格-为什么?

在将xml树写回文件之后,python在结束标记上会导致不同的风格-为什么?
EN

Stack Overflow用户
提问于 2020-03-23 23:32:41
回答 1查看 134关注 0票数 0

我正在修改XML文档xml.etree.ElementTree,然后将新的(修改后的) XML结构写到一个新文件中。

如果我比较原始的和新的,我看到python改变了结束标记的样式。

原创风格:

代码语言:javascript
运行
复制
<prop name="Type"></prop>

修改后的样式:

代码语言:javascript
运行
复制
<prop name="Type" />

我知道新的风格是完全正确的,但我有点担心,它可能会对我正在工作的遗留系统造成一些负面影响。那么,是否有机会拥有与原始XML文档(而不是短小的<prop name="Type" />)相同的闭合风格呢?

修改后的树通过以下方式写回文件:

代码语言:javascript
运行
复制
tree.write(panelModPath,encoding='utf-8', xml_declaration=True) 
EN

回答 1

Stack Overflow用户

发布于 2020-03-23 23:57:58

write方法接受method参数。您可以将其设置为html以保留结束标记。

代码语言:javascript
运行
复制
import xml.etree.ElementTree as ET
from io import BytesIO

source = """
<prop name="Type"></prop>
"""

tree = ET.ElementTree(ET.fromstring(source))
file = BytesIO()

tree.write(file, encoding='utf-8', method="html", xml_declaration=True)

print(file.getvalue())

打印:

代码语言:javascript
运行
复制
b'<prop name="Type"></prop>'
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60816649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档