XML Streaming for Scala
This library shows how to use Scala to process XML streams.
Scala's scalability makes it easy to do XML stream processing with StAX.
Using the library
Add the following to your build.sbt:
scalaVersion := "2.12.3" libraryDependencies += "com.scalawilliam" %% "xs4s" % "0.4" // optionally, if you want to use a snapshot build. // resolvers += "Sonatype OSS Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots"
Running the examples
$ git clone https://github.com/ScalaWilliam/xs4s.git $ sbt examples/run
The code is lightweight, with ElementBuilder being the heaviest code as it converts StAX events into Scala XML classes.
This can consume 100MB files or 4GB files without any problems. And it does it fast. It converts XML streams into Scala XML trees on demand, which you can then query from.
$ cat <<EOF > ~/.sbt/0.13/sonatype.sbt credentials += Credentials("Sonatype Nexus Repository Manager", "oss.sonatype.org", "USERNAME", "PASSWORD") EOF $ sbt +core/publishSigned
Then in https://oss.sonatype.org/ log in, go to 'Staging Repositories', sort by date descending, select the latest package, click 'Close' and then 'Release'.