如何使用Rails Nokogiri gem编写HTML实体?

时间:2018-11-06 10:59:12

标签: ruby-on-rails ruby xml nokogiri html-entities

我正在使用Nokogiri gem编写一些xml数据。 我需要这样的标签:-

<CURRENCYNAME>₹</CURRENCYNAME>

问题在于,Nokogiri编写了符号代码(₹)而不是₹。下面是我的代码片段:-

  data = Nokogiri::XML::Builder.new do |xml|
          xml.CURRENCYNAME "₹"
         end
  response.headers["file_name"] = "Master.xml"
  send_data data.to_xml, filename: "Master.xml", type: "application/xml"

我进入Master.xml文件的结果:-

<CURRENCYNAME>&#x20B9;</CURRENCYNAME>

请帮助。

1 个答案:

答案 0 :(得分:1)

使用编码作为to_xml方法的参数:

irb(main):013:0> Nokogiri::XML::Builder.new { |xml|xml.CURRENCYNAME "₹" }.to_xml(encoding: 'UTF-8')

=> "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<CURRENCYNAME>₹</CURRENCYNAME>\n"