All pastes #936633 Raw Edit

Something

public ruby v1 · immutable
·published 2008-03-10 15:23 UTC
rendered paste body
  def NewsEntry.parseREXML(message)    xml = REXML::Document.new(message);    ret = Array.new        xml.elements.each("//newsitem"){ |xmlitem|      newsitem = NewsEntry.new()      newsitem.id = xmlitem.attributes["id"].to_s();      newsitem.date = xmlitem.elements["date"].text;      newsitem.kill = xmlitem.elements["kill"].text == 'true';      newsitem.held = xmlitem.elements["held"].text == 'true';      newsitem.result = xmlitem.elements["result"].text;      newsitem.type = xmlitem.elements["type"].text;      newsitem.attackerid = xmlitem.elements["attackerId"].text;      newsitem.defenderid = xmlitem.elements["defenderId"].text;      newsitem.attackername = xmlitem.elements["attacker"].text;      newsitem.defendername = xmlitem.elements["defender"].text;      newsitem.attackerclan = xmlitem.elements["attackerClan"].text;      newsitem.defenderclan = xmlitem.elements["defenderClan"].text;      ret.insert(-1, newsitem);    }    ret  end  def NewsEntry.parse(message)    reader = XML::Parser.string(message)    document = reader.parse    root = document.root        ret = Array.new;        child = root.child        while child       unless child.blank? then        newsitem = NewsEntry.new        newsitem.id = child['id']        subchild = child.child        while subchild          unless subchild.blank?            case subchild.name              when "date"                newsitem.date = subchild.child.to_s              when "type"                newsitem.type = subchild.child.to_s              when "kill"                newsitem.kill = subchild.child.to_s=='true'              when "held"                newsitem.held = subchild.child.to_s=='true'                            when "result"                newsitem.result = subchild.child.to_s              when "attackerId"                 newsitem.attackerid = subchild.child.to_s              when "attacker"                 newsitem.attackername = subchild.child.to_s              when "attackerClan"                 newsitem.attackerclan = subchild.child.to_s              when "defenderId"                 newsitem.defenderid = subchild.child.to_s              when "defender"                 newsitem.defendername = subchild.child.to_s              when "defenderClan"                 newsitem.defenderclan = subchild.child.to_s            end #case          end          subchild = subchild.next        end        ret.insert(-1, newsitem)      end      child = child.next    end    ret  end