Use XML parser : xmlparser « XML « Ruby

Home
Ruby
1.ActiveRecord
2.Array
3.CGI
4.Class
5.Collections
6.Database
7.Date
8.Design Patterns
9.Development
10.File Directory
11.GUI
12.Hash
13.Language Basics
14.Method
15.Network
16.Number
17.Rails
18.Range
19.Reflection
20.Statement
21.String
22.Threads
23.Time
24.Tk
25.Unit Test
26.Windows Platform
27.XML
Ruby » XML » xmlparser 




Use XML parser


require 'xmlparser'

class XMLRetry<Exception; end

class SampleParser<XMLParser
  private
  def startElement(name, attr)
    if name == "person"
       attr.each do |key, value|
         print "Found person of type #{value}.\n"
       end
    end
    if name == "name"
      $print_cdata = true
      self.defaultCurrent
    else
      $print_cdata = false

    end
  end

  def endElement(name)
    if name == "name"
      $print_cdata = false
    end
  end

  def character(data)
    if $print_cdata
      puts ("\tName is: #{data}")
    end
  end

end

xml = $<.read

parser = SampleParser.new
def parser.unknownEncoding(e)
  raise XMLRetry, e
end

begin
  parser.parse(xml)
rescue XMLRetry
  newencoding = nil
  e = $!.to_s
  parser = SampleParser.new(newencoding)
  retry
rescue XMLParserError
  line = parser.line
  print "Parse error(#{line}): #{$!}\n"
end

 














Related examples in the same category
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.