0

Rubyを使用してテキストファイルまたはxmlファイルの最初の行を置き換えるにはどうすればよいですか? 奇妙な xml API の複製に問題があり、XML ファイルを作成した後でドキュメントの指示を編集する必要があります。これをしなければならないのは奇妙ですが、この場合は必要です。

4

2 に答える 2

2

XML を編集する場合は、そのタスク専用に設計されたツールを使用してください。subgsubおよび正規表現は、操作される XML が制御下にない場合、適切な選択ではありません。

Nokogiriを使用して XML を解析し、ノードを見つけて変更し、更新された XML を出力します。

SO には、これを行う方法を示す多くの例と、Nokogiri サイトのチュートリアルがあります。

于 2013-02-10T16:51:53.290 に答える
1

これを行うには、いくつかの方法があります。

  1. 使用ARGF(Ruby プログラムがファイル名をコマンド ライン パラメーターとして受け取ると仮定)

    ruby -e "puts ARGF.to_a[n]" yourfile.xml
    
  2. ファイルを定期的に開き、n行を読む

    File.open("yourfile") { |f|
      line = nil
      n.times { line = f.gets }
      puts line
    }
    

    このアプローチは、一度に 1 行しか考慮されないため、メモリへの負荷が少なく、最も単純な方法でもあります。

  3. 使用IO.readlines()(ファイル全体がメモリに収まる場合にのみ機能します!)

    IO.readlines("yourfile")[n]
    

    IO.readlines(...)ファイルからすべての行を配列に読み込みます。

n上記のすべての例のどこがnthファイルの行です。

于 2013-02-10T16:41:50.357 に答える