2019/07/12

XML形式の情報をCSV形式に変換したい

Microsoft Windowsで使用しているパスワード管理ソフトIDMの情報はXML形式で保存されています。またNetBSDで使用しようと思っているパスワード管理ソフトKeePassXCではCSV形式の情報を取り込むことができるようです。そこでXML形式の情報をCSV形式に変換する手法を検討しようと思います。

すぐに思いつくのが、手頃なツールでテキスト処理をおこなうことでしょう。pythonであれば、標準ライブラリElementTreeでXMLを扱えますし、同じく標準ライブラリCSVもあります。python以外を使っても構いませんし、XMLパースを行わず、XML形式を意識しないでテキスト処理をおこなうことも可能でしょう。

別な方法としてXSLTを利用することもできるようです。
  1. [XML]xsltprocを使って、XMLをCSVに変換する
  2. xmlからcsvへの変換(xsltprocコマンド)
  3. XML to CSV Using XSLT

XSLTについては、名前だけは知っていますが、実際に使ってみた経験はありません。それを言ったら、pythonでElementTreeやCSVを扱った経験もないのですが、python自体は経験がありますので、その延長線上でなんとかなると思っています。ここでXSLTを使ってみるのも、経験値を上げるには良いのではないかと思っています。

NetBSDではpkgsrcにあるtextproc/libxsltxsltprocが入っているようです。またIBMのサイトに次のような情報も見つけました。
  1. ヒント: XSLT の極意
  2. XSLTはどのような言語か

0 件のコメント:

コメントを投稿