diff options
author | buraq <buraq@epfl.ch> | 2003-11-17 11:24:07 +0000 |
---|---|---|
committer | buraq <buraq@epfl.ch> | 2003-11-17 11:24:07 +0000 |
commit | 9a63043f7cea8f46324e65a020b1bb8f85b530d4 (patch) | |
tree | fc88b3d95e2baa1aebd17a65cef0247a5ef35727 /sources | |
parent | 63e02829667729b6265c9d63b47ffa684f6e8062 (diff) | |
download | scala-9a63043f7cea8f46324e65a020b1bb8f85b530d4.tar.gz scala-9a63043f7cea8f46324e65a020b1bb8f85b530d4.tar.bz2 scala-9a63043f7cea8f46324e65a020b1bb8f85b530d4.zip |
API change for XML data that is not bound to cl...
API change for XML data that is not bound to classes
Diffstat (limited to 'sources')
-rw-r--r-- | sources/scala/xml/nobinding/XML.scala | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/sources/scala/xml/nobinding/XML.scala b/sources/scala/xml/nobinding/XML.scala new file mode 100644 index 0000000000..2c2dfe3385 --- /dev/null +++ b/sources/scala/xml/nobinding/XML.scala @@ -0,0 +1,39 @@ +package scala.xml.nobinding ; + +import java.net.URL; +import scala.collection.Map ; +import scala.collection.mutable.HashMap ; + +import scala.xml.Utility ; +/** functions to load and save XML elements. use this when data binding is not +** desired. +**/ +object XML { + + // functions for generic xml loading, saving + + /** loads XML from a given file*/ + def load( filename:String ):Element = + new NoBindingFactoryAdapter().loadXML( filename ); + + /** loads XML from a (file) URL */ + def load( url:URL ):Element = + new NoBindingFactoryAdapter().loadXML( url ); + + /** saves XML to filename with encoding ISO-8859-1 */ + def save( filename:String, doc:Element ):Unit = { + /* using NIO classes of JDK 1.4 */ + import java.io.{FileOutputStream,Writer}; + import java.nio.channels.{Channels,FileChannel}; + + val fos = new FileOutputStream( filename ); + val w:Writer = Channels.newWriter( fos.getChannel(), "ISO-8859-1" ); + + /* 2do: optimize by giving writer parameter to toXML*/ + w.write( Utility.toXML( doc )); + + w.close(); + fos.close(); + } + +} |