2009-06-11 15 views
3

私はXML文書の翻訳を行うためのスクリプトを作成中です。それは実際にはかなりクールだ、アイデアは、XMLファイル(またはXMLファイルのフォルダ)を取得し、XMLを解析し、いくつかのタグの間に何かを取得し、Google翻訳APIを使用して翻訳するxmlファイルの内容を置き換えます。XMLでPythonを検索して置き換えるにはどうしたらいいですか?

私が言ったように、私はこれが働いていますが、かなり厳密なxml形式の文書でしかないので、別の形式の文書と互換性を持たなければなりません。だから私のアイデアだった:

は例えば、ノードを見つけ、XMLを解析:

<template>lorem lipsum dolor mit amet<think><set name="she">Ada</set></think></template> 

保存この文字列として、いくつかの正規表現検索を行うと、この文字列に置き換えます。しかし、私は悲しいことに、どのように進むべきかについての手がかりを持っていません。私は文字列(XMLノード)を検索して、inbetweenタグ、この場合は "lorem lipsum dolor mit amet"と "Ada"のテキストを検索し、それらのテキストをパラメータとして関数を呼び出し、関数の結果を挿入しますそれが起源と同じ場所で。私はちょうどテキストを取得し、XMLフォーマットを再構築カント

理由は、私はそれを同一にする必要があるので、異なるフォーマットのXMLノードが存在することである...

答えて

5

ElementTreeは、この種の解析に適しています。使用しやすく、軽量で、操作後にXML出力をサポートします(write()を呼び出すなど)。最新バージョンのPython標準ライブラリが付属しています(2.6+と思われます)。

7

は、正規表現を使用してXMLを解析しようとしないでください! XML is not regularなので、正規表現はこの種の作業には適していません。

実際のXMLパーサーを使用します。これらの多くはPythonですぐに利用できます。クイック検索はthis SO questionにつながり、PythonでXPathを使用する方法について説明しています。

関連する問題