正規表現を使用して再フォーマットしたい (解析ではありません!) 正常に動作する xml ファイルがいくつかあります。目標は、すべての<trkpt>
ペアをワンライナーにすることです。
次のコードは機能しますが、文字列を連結して戻す必要がないように、ループではなく単一の正規表現置換で操作を実行したいと考えています。
import re
xml = """
<trkseg>
<trkpt lon="-51.2220657617" lat="-30.1072524581">
<time>2012-08-25T10:20:44Z</time>
<ele>0</ele>
</trkpt>
<trkpt lon="-51.2220657617" lat="-30.1072524581">
<time>2012-08-25T10:20:44Z</time>
<ele>0</ele>
</trkpt>
<trkpt lon="-51.2220657617" lat="-30.1072524581">
<time>2012-08-25T10:20:44Z</time>
<ele>0</ele>
</trkpt>
</trkseg>
"""
for trkpt in re.findall('<trkpt.*?</trkpt>', xml, re.DOTALL):
print re.sub('>\s*<', '><', trkpt, re.DOTALL)
を使用した回答sed
も大歓迎です。
読んでくれてありがとう