summaryrefslogtreecommitdiff
path: root/sources
diff options
context:
space:
mode:
authorburaq <buraq@epfl.ch>2003-11-17 11:24:07 +0000
committerburaq <buraq@epfl.ch>2003-11-17 11:24:07 +0000
commit9a63043f7cea8f46324e65a020b1bb8f85b530d4 (patch)
treefc88b3d95e2baa1aebd17a65cef0247a5ef35727 /sources
parent63e02829667729b6265c9d63b47ffa684f6e8062 (diff)
downloadscala-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.scala39
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();
+ }
+
+}