Rubyを使用してテキストファイルまたはxmlファイルの最初の行を置き換えるにはどうすればよいですか? 奇妙な xml API の複製に問題があり、XML ファイルを作成した後でドキュメントの指示を編集する必要があります。これをしなければならないのは奇妙ですが、この場合は必要です。
質問する
1123 次
2 に答える
2
XML を編集する場合は、そのタスク専用に設計されたツールを使用してください。sub
、gsub
および正規表現は、操作される XML が制御下にない場合、適切な選択ではありません。
Nokogiriを使用して XML を解析し、ノードを見つけて変更し、更新された XML を出力します。
SO には、これを行う方法を示す多くの例と、Nokogiri サイトのチュートリアルがあります。
于 2013-02-10T16:51:53.290 に答える
1
これを行うには、いくつかの方法があります。
使用
ARGF
(Ruby プログラムがファイル名をコマンド ライン パラメーターとして受け取ると仮定)ruby -e "puts ARGF.to_a[n]" yourfile.xml
ファイルを定期的に開き、
n
行を読むFile.open("yourfile") { |f| line = nil n.times { line = f.gets } puts line }
このアプローチは、一度に 1 行しか考慮されないため、メモリへの負荷が少なく、最も単純な方法でもあります。
使用
IO.readlines()
(ファイル全体がメモリに収まる場合にのみ機能します!)IO.readlines("yourfile")[n]
IO.readlines(...)
ファイルからすべての行を配列に読み込みます。
n
上記のすべての例のどこがnth
ファイルの行です。
于 2013-02-10T16:41:50.357 に答える