Skip to content

Instantly share code, notes, and snippets.

@kohgpat
Created June 9, 2012 07:38
Show Gist options
  • Save kohgpat/2900004 to your computer and use it in GitHub Desktop.
Save kohgpat/2900004 to your computer and use it in GitHub Desktop.
xml parser
# encoding: UTF-8
# dependencies
require '~/Repo/sax-machine/lib/sax-machine.rb'
require 'pp'
class ZGLV
include SAXMachine
element :VERSION, as: :version
element :DATA, as: :data
element :FILENAME, as: :filename
end
class SCHET
include SAXMachine
element :CODE, as: :code
element :CODE_MO, as: :code_mo
element :YEAR, as: :year
element :MONTH, as: :month
element :NSCHET, as: :nschet
element :DSCHET, as: :dschet
element :SUMMAV, as: :summav
element :COMMENTS, as: :comments
element :SUMMAP, as: :summap
element :SANK_MEK, as: :sank_mek
element :SANK_MEE, as: :sank_mee
element :SANK_EKMP, as: :sank_ekmp
element :COMENTSL, as: :comentsl
end
class PACIENT
include SAXMachine
element :ID_PAC, as: :id_pac
element :VPOLIS, as: :vpolis
element :SPOLIS, as: :spolis
element :NPOLIS, as: :npolis
element :SMO, as: :smo
element :NOVOR, as: :novor
end
class USL
include SAXMachine
element :IDSERV, as: :idserv
element :LPU, as: :lpu
element :LPU_1, as: :lpu_1
element :PODR, as: :podr
element :PROFIL, as: :profil
element :DET, as: :det
element :DATE_IN, as: :date_in
element :DATE_OUT, as: :date_out
element :DS, as: :ds
element :CODE_USL, as: :code_usl
element :KOL_USL, as: :kol_usl
element :TARIF, as: :tarif
element :SUMV_USL, as: :sumv_usl
element :PRVS, as: :prvs
element :CODE_MD, as: :code_md
element :COMENTU, as: :comentu
end
class SLUCH
include SAXMachine
element :IDCASE, as: :idcase
element :USL_OK, as: :usl_ok
element :VIDPOM, as: :vidpom
element :NPR_MO, as: :npr_mo
element :EXTR, as: :extr
element :PODR, as: :podr
element :LPU, as: :lpu
element :LPU_1, as: :lpu_1
element :PROFIL, as: :profil
element :DET, as: :det
element :NHISTORY, as: :nhistory
element :DATE_1, as: :date_1
element :DATE_2, as: :date_2
element :DS0, as: :ds0
element :DS1, as: :ds1
element :DS2, as: :ds2
element :CODE_MES1, as: :code_mes1
element :CODE_MES2, as: :code_mes2
element :RSLT, as: :rslt
element :ISHOD, as: :ishod
element :PRVS, as: :prvs
element :IDDOKT, as: :iddokt
element :IDSP, as: :idsp
element :ED_COL, as: :ed_col
element :TARIF, as: :tarif
element :SUMV, as: :sumv
element :OPLATA, as: :oplata
element :SUMP, as: :sump
element :SANK_MEK, as: :sank_mek
element :SANK_MEE, as: :sank_mee
element :SANK_EKMP, as: :sank_ekmp
elements :USL, as: :usls, class: USL
end
class ZAP
include SAXMachine
element :N_ZAP, as: :n_zap
element :PR_NOV, as: :pr_nov
elements :PACIENT, as: :pacient, class: PACIENT
end
class ZL_LIST
include SAXMachine
element :ZGLV, as: :zglv, class: ZGLV
element :SCHET, as: :schet, class: SCHET
elements :ZAP, as: :zaps, class: ZAP
end
medical_list = ZL_LIST.parse(File.open("./HT03S03102_120434.xml"))
pp medical_list.inspect
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment