我很难开始使用PyXB。
假设我有一个 XSD 文件(一个 XML 模式)。我想:
- 使用 PyXB 根据架构定义 Python 对象。
- 将这些对象作为满足架构的 XML 文件保存到磁盘。
我怎样才能用 PyXB 做到这一点?下面是一个对地址进行编码的 XSD 文件(来自维基百科)的简单示例,但我什至很难开始。
<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Address">
<xs:complexType>
<xs:sequence>
<xs:element name="FullName" type="xs:string" />
<xs:element name="House" type="xs:string" />
<xs:element name="Street" type="xs:string" />
<xs:element name="Town" type="xs:string" />
<xs:element name="County" type="xs:string" minOccurs="0" />
<xs:element name="PostCode" type="xs:string" />
<xs:element name="Country" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="IN" />
<xs:enumeration value="DE" />
<xs:enumeration value="ES" />
<xs:enumeration value="UK" />
<xs:enumeration value="US" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
更新
一旦我跑
pyxbgen -u example.xsd -m example
我得到一个example.py
具有以下类的:
example.Address example.STD_ANON
example.CTD_ANON example.StringIO
example.CreateFromDOM example.pyxb
example.CreateFromDocument example.sys
example.Namespace
我想我理解CreateFromDocument
它的作用——它可能会读取一个 XML 并创建相应的 python 对象——但是我应该使用哪个类来创建一个新对象然后将其保存到 XML 中?