Создание объекта нокогири из XML
xml_file = File.read(file_path)
noko_doc = Nokogiri::XML(xml) do |opts|
opts.huge.nonet.noblanks.strict # удаляем пробелы, пустые элементы, символы новой строки
end
метод xpath
ищет все вхождения переданого заначения xml элемента (node) и возвращает массив (объект Nokogiri::NodeSet
)
xpath('//node_name')
Добавление элемента перед элементом
noko_xml_doc.add_previous_sibling(node)
метод принимает параметр в виде имени элемента который нужно вставить
пример
noko_xml_doc.xpath('//second_node').add_previous_sibling(first_node)
поиск первого совпадения и возврат имени родительского элемента
at_xpath('//zones_and_boundaries//view_borders_reg_obj')&.parent&.name