如何在 XML 文件中添加注释
How to add comment into an XML file
如何使用 Nokogiri 在 XML 文件中添加评论?
例如,我有一个现有的 html 文件。我想添加 <!--doc-->
。我应该怎么做才能得到:
...
<body>
<!--doc-->
</body>
...
我使用以下代码修复:
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
我会使用:
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>
或者您可以使用更长一点的代码:
doc.at('body').add_child('<!-- foo -->')
结果相同。
如果 <body>
有更多的节点,它会多一点 interesting/complicated,并且您关心评论的去向,但这基本上仍然是定位要插入评论的位置,然后执行以上之一。
如何使用 Nokogiri 在 XML 文件中添加评论?
例如,我有一个现有的 html 文件。我想添加 <!--doc-->
。我应该怎么做才能得到:
...
<body>
<!--doc-->
</body>
...
我使用以下代码修复:
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
我会使用:
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>
或者您可以使用更长一点的代码:
doc.at('body').add_child('<!-- foo -->')
结果相同。
如果 <body>
有更多的节点,它会多一点 interesting/complicated,并且您关心评论的去向,但这基本上仍然是定位要插入评论的位置,然后执行以上之一。