scala / scala-xml

The standard Scala XML library

Version Matrix

scala-xml Travis latest release for 2.11 latest release for 2.12 latest release for 2.13 Gitter

The standard Scala XML library. Please file XML issues here, not at https://github.com/scala/bug/issues.

The decoupling of scala-xml from the Scala compiler and standard library is possible because the compiler desugars XML literals in Scala source code into a set of method calls. Alternative implementations of these calls are welcome! (The calls are unfortunately only defined by the implementation.)

API documentation is available here.

How to documentation is available in the wiki

The latest stable release of Scala XML is 1.3.0.

Experimental milestone releases of Scala XML version 2.0 are available. Since 2.0.0-M2, Dotty is supported. See the changes for 2.0 in CHANGELOG.md.

Maintenance status

This library is community-maintained. The lead maintainer is @aaron_s_hawley.

Contributors are welcome, and should read the contributor guide on the wiki.

Issues

Many old issues from the Scala JIRA issue tracker have been migrated here, but not all of them. Community assistance identifying and migrating still-relevant issues is welcome. See this page for details.

Security best practices

The XML spec has some features that are best turned off, to avoid unsavory things like file system access, DoS attacks,... Issue #17 tracks the recommended way of configuring the XML parser used by scala-xml to avoid these. This is by no means an exhaustive list. We'll be happy to incorporate your suggestions -- just comment on the ticket!

Related projects

  • Advxml - Functional library combining scala-xml with cats-core
  • Binding.scala - Reactive programming library
  • ezXML - Extensions for traverse, encoding, decoding and mapping XML
  • http4s-scala-xml - XML literal support in http4s
  • Json4s XML - Conversion to and from JSON
  • monadic-html - DOM-like event-based programming with XHTML
  • phobos - Data-binding library based on stream parsing using Aalto XML
  • scalaxb - XML data binding, serialization, SOAP and WSDL support
  • ScalaTags - Alternative syntax for XML literals
  • scala-xml-dotty - Macro library for XML literals in Dotty
  • XML SPaC - Streaming event-based parser combinators
  • xs4s - XML streaming for Scala
  • xtract - A library for deserializing XML

See also the "XML" section of Awesome Scala.