读取XSD并创建相应的XML

2 投票
1 回答
7121 浏览
提问于 2025-04-27 23:25

我花了好几个小时在找这个问题的答案,但一直没找到……

我有一个XSD文件(是别人给的),我想根据这个文件来创建一个符合要求的XML文件。我已经准备好了所有的数据结构。现在我只需要按照XSD的规定把数据导出成XML。这样做可以吗?

我并不是想把XSD导出成XML,也不是想验证XML或解析XML。我是从头开始的,我阅读了XSD,然后根据它的要求,试着把我的数据结构映射到XSD允许的元素上。

从概念上讲,这似乎是可行的……不过,我到现在还没有找到任何答案。欢迎任何想法和建议(最好是用Python 2)。

暂无标签

1 个回答

1

我整理了一下,回复自己是为了帮助其他人。

正如提到的,generateDS 是解决这个问题的好办法。 从第五章开始,命令

python generateDS.py -o people.py -s peoplesubs.py people.xsd

会读取XSD文件,并创建几个类和子类。它会生成很多数据结构,还有一些方法(叫做getter和setter)来访问和使用这些数据 :) 如果有任何符合那个XSD的XML文件,可以直接用

import people
rootObject = people.parse('people.xml')

在代码中读取。更多信息在第十二章有说明。前面提到的类还提供了将数据导出为XML格式的方法。文档写得很好,强烈建议在未来的项目中使用这个工具。

祝你玩得开心,

C.

撰写回答