为了账号安全,请及时绑定邮箱和手机立即绑定

Python中的XML处理

Python中的XML处理

阿晨1998 2021-03-21 10:11:11
我将要构建一个项目,该项目需要构造XML文档并将其发布到Web服务,并且我想用Python来完成它,以此来扩展我在其中的技能。不幸的是,尽管我对.NET相当了解XML模型,但是我不确定Python中XML模型的优缺点。任何人都有使用Python处理XML的经验吗?你会建议我从哪里开始?我将要构建的XML文件将非常简单。
查看完整描述

3 回答

?
弑天下

TA贡献1818条经验 获得超8个赞

我已经将ElementTree用于多个项目并推荐它。

它是pythonic,随Python 2.5一起提供,包括c版本cElementTree(xml.etree.cElementTree),它比纯Python版本快20倍,并且非常易于使用。

lxml具有一些性能优势,但是它们并不平衡,因此您应该首先检查一下用例的基准测试。

据我了解,ElementTree代码可以轻松移植到lxml。


查看完整回答
反对 回复 2021-03-22
?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

这取决于文件的复杂程度。

我在编写XML时经常使用minidom,但是通常只是读取文档,进行一些简单的转换,然后再写回。在我需要排序元素属性的能力之前,这已经足够好了(以满足无法正确解析XML的古老应用程序)。那时我放弃了,自己写了XML。

如果您只处理简单的文档,那么比学习框架更快,更简单。如果可以想象手动编写XML,那么也可以手动编写XML(只是要记住正确地转义特殊字符并使用str.encode(codec, errors="xmlcharrefreplace"))。除了这些麻烦之外,XML非常普通,因此您不需要特殊的库来编写它。如果文档太复杂而无法手工编写,那么您可能应该研究一下已经提到的框架之一。您根本不需要编写通用的XML编写器。


查看完整回答
反对 回复 2021-03-22
  • 3 回答
  • 0 关注
  • 245 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号