Python 2.5:XML中的ElementTree和UML
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python 2.5:XML中的ElementTree和UML,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1400字,纯文字阅读大概需要3分钟。
内容图文
![Python 2.5:XML中的ElementTree和UML](/upload/InfoBanner/zyjiaocheng/691/a5414a77f751497cb5787513cc1023ef.jpg)
我正在处理代表UML模型的XML文件.这是一个例子:
<?xml version="1.0" encoding="utf-8"?>
<XMI xmi.version="1.1" xmlns:UML="omg.org/UML13">
<XMI.content>
<UML:Model name="Model" xmi.id="_0">
<UML:Namespace.ownedElement>
<UML:Package name="Standard" xmi.id="_5">
</UML:Package>
</UML:Namespace.ownedElement>
</UML:Model>
</XMI.content>
</XMI>
这是狂想曲导入格式.
我想通过在Python 2.5中使用ElementTree来修改此XML文件.
我至少有一个问题,但发现了2种后果,它们是:
使用以下简单代码:
import xml.etree.ElementTree as ET
tree = ET.parse('source.xml')
root = tree.getroot()
tree.write('output.xml')
输出为:(并且我不需要任何更改)
<XMI xmi.version="1.1">
<XMI.content>
<ns0:Model name="FPLN_Model" xmi.id="_0" xmlns:ns0="omg.org/UML13">
<ns0:Namespace.ownedElement>
<ns0:Package name="Standard" xmi.id="_5">
</ns0:Package>
</ns0:Namespace.ownedElement>
</ns0:Model>
</XMI.content>
</XMI>
我搜索了这个问题,并发现了一个关于stackoverflow的主题,该主题说要添加
ET.register_namespace("UML", "omg.org/UML13")
但是会发生错误:
AttributeError: 'module' object has no attribute 'register_namespace'
第二个结果是使用如下代码:
for Package_Node in Temp_Node.find('UML:Package'):
我收到错误:SyntaxError:预期的路径分隔符(:)
有一个想法可以帮助我吗?
谢谢!
解决方法:
register_namespace为only available since Python 2.7
在2.5中可能还有另一种使用ElementTree保留名称空间的方法,但我不知道.
或者,您可以尝试另一个解析库. lxml保留名称空间,并且其API与ElementTree兼容.
内容总结
以上是互联网集市为您收集整理的Python 2.5:XML中的ElementTree和UML全部内容,希望文章能够帮你解决Python 2.5:XML中的ElementTree和UML所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。