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に保存しますか?