答えを探すために最善を尽くしましたが、私のニーズに合ったものを見つけることができませんでした. XML ファイルをカスタム形式に再フォーマットしようとしていますが、問題が発生しています。これが私の要件です。
次の XML ファイルがあります。
<parameters>
<parameter name="name1" value="value1"/>
<parameter name="name2" value="value2"/>
<parameter name="name3" value="value3"/>
<parameter name="name4" value="value4"/>
</parameters>
私はそれを次のように変換しようとしています。
(param().name("name1").value("value1"),
param().name("name2").value("value2"),
param().name("name3").value("value3"),
param().name("name4").value("value4"));
次のコードを使用してみましたが、元のファイルから出力に一部のデータがスキップされているようです。
with open("myfile","r") as f:
for each_line in f:
current_line = each_line
if current_line.strip().startswith('<'):
split_line = current_line.strip().split(' ')
if split_line[0].lstrip('<') == "parameter":
if f.next().strip() == "</parameters":
print 'param().name(' + split_line[1].split('=')[1] + ').value('+ split_line[2].split('=')[1][:-2] + '));\n\n'
else:
print 'param().name(' + split_line[1].split('=')[1] + ').value('+ split_line[2].split('=')[1][:-2] + ')'
f. next() を使用すると問題が発生することがわかります...他にどうすればこれを解決できるかわかりません。