使用Python将XMI文件转换为XML文件

1 投票
3 回答
3546 浏览
提问于 2025-04-16 18:45

我需要把一个活动图的xmi格式转换成xml格式。请问用python可以做到这个转换吗?有没有工具可以把xmi文件转换成xml呢?

3 个回答

1

你可以从任何 file.xmi 文件中获取你需要的信息,比如类和属性等等。这个 文档 可能会对你有帮助。

from xml.dom import minidom
xmldoc = minidom.parse('file.xmi')
        for element in xmldoc.getElementsByTagName("UML:Class"):
                print(" -> UML:Class ",element.getAttribute('name'))
                for a in element.getElementsByTagName("UML:Attribute"):
                        print("   -> UML:Attr : ",a.getAttribute('name'))
1

正如Ignacio所说,问题可能不是目标工具需要XML格式,而是它可能需要一种不同的XMI格式。

不幸的是,每个工具对XMI标准的理解都不一样,所以两个建模工具很可能会为同一个模型生成两个不兼容的XMI文件。你可以在这篇文章中看到一个例子,标题是"一次建模,随处打开,这根本不是真的"。

1

把XML转换成XML的过程通常叫做 XML转换。在Python中,你可以使用 libxsltmod 来通过使用XSLT样式表来进行XML转换。

撰写回答