XMLをPythonに変換
XMLをDjangoとFlask用のPythonクラスとdataclassに変換
XML入力
Python出力
XMLをPythonに変換とは?
PythonはXML解析にxml.etree.ElementTree(組み込み)とlxml(高度な解析用)を提供します。このツールはXML構造からPythonクラスまたはdataclassを生成し、解析した要素を型付きオブジェクトにマッピングできます。W3C XML仕様で入力形式が定義されています。
変換はブラウザで実行されます。Dataclassを使用で@dataclassデコレータ、Typingを使用で型ヒントを有効にできます。サーバーには送信されません。生成されたクラスはDjango、Flask、その他のPythonプロジェクトの出発点です。
このツールの使い方
XMLを貼り付けまたはアップロード
XMLを左のエディターに貼り付けるか、ファイルをアップロードします。設定パネルでクラス名、Dataclassを使用、Typingを使用を設定します。サンプルが代表的であるほど、生成される構造が良くなります。
Python出力を確認
右パネルに生成されたPythonクラスが表示されます。ElementTreeまたはlxmlでXMLを解析し、要素をこれらの型にマッピングしてください。dataclassにはカスタム解析ロジックを追加できます。
コピーまたはダウンロード
コピーまたはダウンロードでクラスを保存します。JSONをPythonに変換するにはJSONをPythonに。XMLのフォーマットにはXMLフォーマッターを使用してください。
XMLをPythonに変換の例
XMLからPythonクラスを生成する例です。
例:加入者レコード
XML入力:
生成されたPython出力:
XMLをPythonに変換が役立つ場面
XMLを返すAPIを統合する、RSSフィードやSOAPレスポンスを解析する、XMLフィードを消費するDjangoやFlaskアプリを構築する場合にこのツールを使用します。複雑なXML用のクラスを手動で書くのは面倒です。このツールでスタートできます。プロジェクトに合わせて解析ロジックを追加し、型を調整してください。
よくある質問
Dataclassと通常のクラスの違いは?
Dataclassを使用で@dataclassデコレータとボイラープレートの削減(Python 3.7+)を有効にします。Typingを使用で型ヒントを有効にします。Python dataclassesを参照してください。
データはプライベートですか?
はい。クラス生成は完全にブラウザで実行されます。XMLやコードはサーバーに送信されません。
関連ツール
PythonのXML解析についてはElementTreeとlxmlを参照してください。XMLについてはW3C XML仕様を参照してください。ブラウザでの解析はMDN DOMParserを参照してください。dataclassesについてはPython dataclassesを参照してください。その他W3C XMLとPydanticを参照してください。