有哪些Python工具可以从XML文档生成XSD?

12 投票
3 回答
11011 浏览
提问于 2025-04-17 04:32

我在找一个可以和Python很好配合的工具。除了我需要Python之外,我的问题和这个问题是一样的:

“我在找一个工具,可以把一个XML实例文档转换成对应的XSD模式。”

3 个回答

3

你是在找像 pyxsd 这样的东西吗?这个主要是用来根据一个规则(schema)来验证数据的。或者你可能想要 PyXB?这个可以根据xml文件生成类。除此之外,我觉得现在还没有工具可以直接在Python里面生成规则。如果你需要的话,可以用像 xsd.exe 这样的工具来手动生成吗?你需要这个过程是可以编程实现的,还是只要能重复使用就行?

6

根据PyCharm的文档,PyCharm有一个功能可以做到这一点。不过,这个功能并不是通过程序接口(API)直接访问的。你可能更适合使用XML Schema Learner这个独立程序,因为它是一个命令行程序(对其他程序友好!)。

1

目前,没有任何模块可以在你的Python程序中直接进行这种转换。不过,我认为从XML创建XSD架构的问题更像是一个工具问题。这种功能我可能只用一次,来启动一个架构,之后我会自己维护这个架构。通过读取一个XML文件,XSD生成器可以为一个真正的架构创建一个起点,但它无法推断出XSD所提供的所有功能和选项。
基本上,我觉得没有必要在我的代码中运行这个转换模块,每次XML变化时都生成新的XSD。毕竟,是架构定义了XML,而不是相反。

正如最终用户指出的,你可以使用xsd.exe,但你也可以看看其他工具,比如trang(有点老旧)用于Java,还有stylusstudio(一个XML工具)。

撰写回答