Ruby REXML::Document write double quotes
От: messir VolanD Беларусь http://www.google.com/profiles/p.drobushevich
Дата: 24.02.09 19:33
Оценка:
Помогите пожалуйста, проблема такова использую REXML::Document.write, записать изменнённый xml, и проблема такова что значения атрибутов записываются в одинарных кавычках:<element attribute='value'>, хотелось бы получить двойные кавычки <element attribute="value">.
Заранее благодарен.
Re: Ruby REXML::Document write double quotes
От: Гест Украина https://zverok.github.io
Дата: 25.02.09 03:18
Оценка: 3 (1)
Здравствуйте, messir VolanD, Вы писали:

MV>Помогите пожалуйста, проблема такова использую REXML::Document.write, записать изменнённый xml, и проблема такова что значения атрибутов записываются в одинарных кавычках:<element attribute='value'>, хотелось бы получить двойные кавычки <element attribute="value">.

MV>Заранее благодарен.

Вариант 1: грязный, но действенный — первая ссылка в гугле по запросу rexml attributes quotation

Вариант 2: покопаться в коде метода, который предлагается заменить. Обнаружить, что аттрибут читает значение кавычек из «контекста» своего элемента.

el1 = Element.new "myelement", nil, :attribute_quote => :quote
el1.text = 'something'
el1.add_attribute('attr', 'val')

puts el1.to_s # => <myelement attr="val">something</myelement>


Документ тоже можно создать с «контекстом» (набором опций). Там, правда, такая лажа, что если ты СНАЧАЛА создал элемент, а ПОТОМ вставил его в документ — контекст документа он учитывать не будет (т.е. нужно каждому создаваемому вручную элементу дописывать этот чёртов «контекст»). У REXML вообще уродский API, скажем прямо.

Между тем, всё это можно довольно быстро выяснить из исходников. Минуты за 3 (я этим и занялся, чтобы ответить на вопрос).
Re[2]: Ruby REXML::Document write double quotes
От: messir VolanD Беларусь http://www.google.com/profiles/p.drobushevich
Дата: 25.02.09 11:52
Оценка:
Здравствуйте, Гест, Вы писали:

Г>Вариант 1: грязный, но действенный — первая ссылка в гугле по запросу rexml attributes quotation


Да видел, но это как то через одно место.

Г>Вариант 2: покопаться в коде метода, который предлагается заменить. Обнаружить, что аттрибут читает значение кавычек из «контекста» своего элемента.


Г>
Г>el1 = Element.new "myelement", nil, :attribute_quote => :quote
Г>el1.text = 'something'
Г>el1.add_attribute('attr', 'val')

Г>puts el1.to_s # => <myelement attr="val">something</myelement>
Г>


Г>Документ тоже можно создать с «контекстом» (набором опций). Там, правда, такая лажа, что если ты СНАЧАЛА создал элемент, а ПОТОМ вставил его в документ — контекст документа он учитывать не будет (т.е. нужно каждому создаваемому вручную элементу дописывать этот чёртов «контекст»). У REXML вообще уродский API, скажем прямо.


Г>Между тем, всё это можно довольно быстро выяснить из исходников. Минуты за 3 (я этим и занялся, чтобы ответить на вопрос).


Спасибо. Просто Руби не основной язык проекта, мы на нём только вспомогательные скрипты пишем, поэтому я слабо знаком с ним и не очень горю желанием лезть в исходники, надеялся но документацию,но ничего не нашёл, поэтому спросил. Ещё раз спасибо большое за ответ.
Re[3]: Ruby REXML::Document write double quotes
От: Гест Украина https://zverok.github.io
Дата: 25.02.09 11:57
Оценка:
Здравствуйте, messir VolanD, Вы писали:

MV>Спасибо. Просто Руби не основной язык проекта, мы на нём только вспомогательные скрипты пишем, поэтому я слабо знаком с ним и не очень горю желанием лезть в исходники, надеялся но документацию,но ничего не нашёл, поэтому спросил. Ещё раз спасибо большое за ответ.


Да не за что Честно говоря, начал отвечать, пытаясь продемонстировать, что «всё же очевидно из документации, нафига форум засорять?» — а уже обнаружив, что вовсе даже неочевидно, счел делом чести раскопать-таки подобие ответа
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.