Исходный код для платформ Какао прибыл из библиотеки NeXTSTEP Основа, и AppKit (те имена все еще используются платформами Какао Apple), и инженеры NextStep приняли решение снабдить префиксом свои символы NS.
, поскольку Objective C является расширением C и таким образом не имеет пространств имен как в C++, символы должны быть снабжены префиксом уникальный префикс так, чтобы они не сталкивались. Это особенно важно для символов, определенных в платформе.
, Если Вы пишете приложение, такое, что Ваш код только вероятен когда-либо использовать Ваши символы, Вы не должны волноваться об этом. Но если Вы пишете платформу или библиотеку для использования других, необходимо также снабдить префиксом символы уникальный префикс. CocoaDev имеет страницу , где многие разработчики в сообществе Какао перечислили свои "выбранные" префиксы. Можно также найти это ТАК обсуждение полезный.
Строитель, вероятно, должен быть вашей первой точкой остановки:
require 'builder'
def product_xml
xml = Builder::XmlMarkup.new( :indent => 2 )
xml.instruct! :xml, :encoding => "ASCII"
xml.product do |p|
p.name "Test"
end
end
puts product_xml
производит это:
<?xml version="1.0" encoding="ASCII"?>
<product>
<name>Test</name>
</product>
, который выглядит прямо на меня.
Некоторые ссылки на Builder:
Вы можете использовать построитель для создания xml.
Вот еще пара опций для создания XML в Ruby
REXML - встроенный, но очень медленный, особенно при работе с большими документами
Nokogiri - новее и быстрее, устанавливается как rubygem
LibXML-Ruby - построено на библиотеке C libxml, также устанавливается как rubygem
Если вы не можете установить rubygems, то REXML - ваш лучший вариант. Если вы собираетесь создавать большие сложные XML-документы, вам следует использовать Nokogiri или LibXML-Ruby.