0
を保つ:そして、私はこのようなbodyタグの内容を変更鋸山 - 私はこのようになり、既存のHTMLファイルを開くには、鋸山を使用していDOCTYPEやメタタグ
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Foo</title>
</head>
<body>
<!-- stuff -->
</body>
</html>
を:
html_file = Nokogiri::HTML("path/to/html/file")
html_file.css('body').first.inner_html = "new body content"
それから私はこのようなファイルにこの新しい文書を書く:
File.open("path/to/new/html/file", 'w') {|f| f.write html_file}
そして、これが私の結果のhtmlファイルです:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body>
new body content
</body></html>
それは彼らが私は鋸山で文書を開き、書き込みをしようとしたときに変更/失われているように見えることから、元のHTMLファイルのdoctype
とmeta
タグを維持するために鋸山を伝えることが可能です場合は君たちのために私の質問それをファイルに保存します。
ご協力いただければ幸いです。ありがとう!
どのようなバージョンのNokogiriをお使いですか? –
は1.5.0 – mportiz08
のように見える面白い。そのHTMLを同様の方法で処理すると、 'DOCTYPE'宣言と' xml'宣言の位置が反転しますが、他はすべてそのまま維持されます。 [this gist](https://gist.github.com/f357da62d5fde62fdd7d)を参照してください。 –