2016-05-29 12 views
0

Nokogiriを使用してXMLファイルにコメントを追加するにはどうすればよいですか?XMLファイルにコメントを追加する方法

たとえば、私は既存のhtmlファイルを持っています。 <!--doc-->を追加します。どのように私はそれは私が取得する実行する必要があります。私が使用したい

require 'nokogiri' 

d = Nokogiri::HTML(%Q(<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
</head> 
<body> 
</body> 
</html> 
)) 

d.css('body')[0].add_child(Nokogiri::XML::Comment.new(d, "doc")) 
puts d.to_s 

答えて

0

は、私は、次のコード修正を使用します。

doc.at('body').add_child('<!-- foo -->') 

同じことが起こります。

<body>のノード数が増えた場合にはもう少し面白くて複雑になりますが、コメントはどこにあるのか気になりますが、基本的にはコメントを挿入する場所を特定してから上記のいずれかを実行します。

+1

あまりにも多くの仕事。 Nokogiriでは、文字列を使用するだけで簡単にノードを追加できます。私の答えを見てください。 –

1

require 'nokogiri' 

doc = Nokogiri::HTML('<html><body></body></html>') 
doc.at('body') << '<!-- foo -->' 

puts doc.to_html 


# >> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> 
# >> <html><body><!-- foo --></body></html> 

それとも、少し長いコードを使用することができます

... 
<body> 
<!--doc--> 
</body> 
... 
関連する問題