Skip to content

Instantly share code, notes, and snippets.

@etehtsea

etehtsea/pry.rb Secret

Created November 22, 2016 05:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save etehtsea/6e483c1d5fdfc27fb1c14fae6340cf93 to your computer and use it in GitHub Desktop.
Save etehtsea/6e483c1d5fdfc27fb1c14fae6340cf93 to your computer and use it in GitHub Desktop.
[1] pry(main)> %w(javax.xml.parsers.DocumentBuilderFactory javax.xml.parsers.DocumentBuilder org.w3c.dom.Document org.w3c.dom.NodeList org.w3c.dom.Node org.w3c.dom.Element java.io.File).map { |f| java_import f }
uri:classloader:/jruby/java/core_ext/object.rb:95: warning: already initialized constant File
=> [[Java::JavaxXmlParsers::DocumentBuilderFactory],
[Java::JavaxXmlParsers::DocumentBuilder],
[Java::OrgW3cDom::Document],
[Java::OrgW3cDom::NodeList],
[Java::OrgW3cDom::Node],
[Java::OrgW3cDom::Element],
[Java::JavaIo::File]]
[2] pry(main)> f = java.io.File.new('79c71454a4251fb4e60dc6220f736b.xml')
=> #<Java::JavaIo::File:0x174721c4>
[3] pry(main)> db_factory = DocumentBuilderFactory.newInstance();
[4] pry(main)> nil
=> nil
[6] pry(main)> doc = d_builder.parse(f); nil
NoMethodError: undefined method `parse' for nil:NilClass
from (pry):6:in `<eval>'
[7] pry(main)> d_builder = db_factory.newDocumentBuilder();
[8] pry(main)> doc = d_builder.parse(f); nil
=> nil
[9] pry(main)> doc.class
=> Java::ComSunOrgApacheXercesInternalDom::DeferredDocumentImpl
[14] pry(main)> doc.getDocumentElement().normalize(); nil
=> nil
[17] pry(main)> nlist = doc.getElementsByTagName("xml")
=> #<Java::ComSunOrgApacheXercesInternalDom::DeepNodeListImpl:0x8e25d3f>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment