Python: xmltodict を使って XML を辞書へ変換

今回は Python ネタです。

最近のネットワーク機器ではコマンドのアウトプットなどを XML で表示させることが可能です。通常の CLI 出力を頑張って正規表現で各値を取得してもいいのですが、xmltodict というライブラリを使うことで簡単に XML形式の出力を Python の辞書データに変更することが可能です。

xmltodict のインストール

XML -> 辞書への変換には xmltodict というライブラリを使います。下記 pip コマンドでインストールできます。

XML形式のデータは Cisco Nexus から取得

今回は XML 形式のデータは Cisco の Nexus から取得してみました。まずは通常の CLI での出力は下記です。

次にパイプをして xml と入力すると、XML 形式で出力を得ることができます。

上記の最後の行にある “]]>]]>” は不要なので、この行を除く残りを Python のコードに持っていきます。

XML->辞書変換の Python コード

簡単なので、いきなり全ソースコードを貼ります。

XML形式の出力を文字列として変数に入れて、最後から2行目でパースするだけで、代入している result が辞書になります。最後の行では辞書を整形して表示するため、pprint を使ってます。

実行結果

それでは実行結果を見てます。

xmltodict を使えば、非常に簡単に XML -> 辞書への変換ができることが分かるかと思います。

今回はここまで。

スポンサーリンク

フォローする

スポンサーリンク