While playing around with the Java JDOM library, I found myself resorting to jython to experiment with the API. It’s just so much easier this way for me:
#!/usr/bin/env jython from java.io import StringReader from org.jdom import Document from org.jdom.input import SAXBuilder from org.jdom.xpath import XPath xml = '
' builder = SAXBuilder() document = builder.build(StringReader(xml)) xpath = XPath.newInstance('//foo/bar') node = xpath.selectSingleNode(document) print node.getText() foobar
In case it’s of interest I’ve got a little jython startup script which automatically makes .jar files I drop in a particular directory available to the interpreter. So when testing jdom all i had to do was drop jdom.jar in my /usr/local/jython/jars and it’s immediately available the next time I start up jython.
#!/bin/bash JYTHON_HOME=/usr/local/jython for jar in $JYTHON_HOME/jars/*.jar do jars="$jars:$jar" done CLASSPATH="$JYTHON_HOME/dist/jython.jar$jars" java -cp $CLASSPATH \ $JYTHON_JAVA_ARGS -Dpython.home=$JYTHON_HOME \ org.python.util.jython "$@"
Pretty handy, especially for interactive sessions.