Как написать HTML-сущность с использованием Rails Nokogiri gem? - PullRequest
0 голосов
/ 06 ноября 2018

Я использовал драгоценный камень Нокогири для записи некоторых XML-данных. Мне нужен тег вроде этого: -

<CURRENCYNAME>₹</CURRENCYNAME>

Проблема в том, что Нокогири пишет код символа (& # x20B9;) вместо ₹. Ниже приведен фрагмент из моего кода: -

  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 голосов
/ 06 ноября 2018

использовать кодировку в качестве аргумента для 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"
...