将XML-Stylesheet与XML文档与Nokogiri相关联

时间:2010-07-02 14:22:06

标签: ruby xml nokogiri

是否有可能与Nokogiri associate a stylesheet建立这种结构?

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="http://www.my-site.com/sitemap.xsl"?>
<root>
  ...
</root>

2 个答案:

答案 0 :(得分:2)

OMG,这里有很多失败,我打破了Nokogiri团队的非正式政策,并且正在为这个问题提供正确,明智的答案:

require "nokogiri"

doc = Nokogiri::XML "<root>foo</root>"
doc.root.add_previous_sibling Nokogiri::XML::ProcessingInstruction.new(doc, "xml-stylesheet", 'type="text/xsl" href="foo.xsl"')
puts doc.to_xml
# => <?xml version="1.0"?>
#    <?xml-stylesheet type="text/xsl" href="foo.xsl"?>
#    <root>foo</root>

将来,请在nokogiri-talk邮件列表(http://groups.google.com/group/nokogiri-talk)上询问有关Nokogiri的问题,及时得到正确的答案,并为每个人节省一点力量。

答案 1 :(得分:-2)

没有。

我这样做的方式:

xml.gsub!("<?xml version=\"1.0\"?>") do |head|
  result = head
  result << "\n"
  result << "<?xml-stylesheet type=\"text/xsl\" href=\"#{stylesheet}\"?>"
end

干杯。