ruby xml to hash

ergin (2539) 8 yıl önce sordu

ruby ile xml olarak gelen veriyi hash e nasıl çevirebilirim?

Toplam 1 cevap


ergin (2539) 8 yıl önce cevapladı

ruby xml olarak gelen veriyi hash formatına çevirmek için öncelikle bu işlemi yaparken kullanıcağımız nokogiri gem library sini ekleyelim. Komut İstemi penceresinden aşağıda yazan satısı çalıştırarak kurulumu yapabilirsiniz.

gem install nokogiri


örneğin aşağıdaki şekilde bir xml data olduğunu varsayalım. bu data yı bir rest servisten get sonucu geldiğini varsayarsak;
 

<HashCode xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
    <hash>ergin tüzer</hash>
</HashCode>


örnekte belirtilen "hash" içindeki veriyi hash yapısına çevirmek için;

  connection = 'xml veri döndürecek rest servis adresi'

  response = RestClient.get connection
  converter = Nori.new
  hash = converter.parse response
  p hash

bu kodumuzun çıktısı xml verinin hash e çevirip ekrana yazdırılması şekilde olucaktır.
 

Eğer ki örnek xml verimizdeki <hash> elemanı içindeki veriyi almak istersek;

  connection = 'xml veri döndürecek rest servis adresi'

  response = RestClient.get connection
  converter = Nori.new
  hash = converter.parse response
  icerek = hash['HashCode']['hash']
  p icerik     # 'ergin tüzer' çıktısı olucaktır