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.
The 2.0.0-RCx series supports Scala 3. See also the changes for 2.0 in
This library is community-maintained. The lead maintainer is @aaron_s_hawley.
Contributors are welcome, and should read the contributor guide on the wiki.
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!
- 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.