-
Notifications
You must be signed in to change notification settings - Fork 92
Introduction
Aaron S. Hawley edited this page Oct 13, 2017
·
2 revisions
The scala-xml library lets you type in XML as a literal anywhere that an expression is valid. Simply type a start tag and then continue writing XML content. The compiler will go into an XML-input mode and will read content as XML until it sees the end tag matching the start tag you began with:
val book = <book id="b20234">Magic of scala-xml</book>
The result of this expression is of type scala.xml.Elem
. It is an XML element with a label, of "book".
Some other important XML classes are:
-
scala.xml.Node
is the abstract superclass of all XML node classes. -
scala.xml.Text
is aNode
holding just text. For example, the "text" part of<tag>text</tag>
is of classscala.xml.Text
. -
NodeSeq
represents a sequence ofNode
s. Many methods in the XML library processNodeSeq
s in places you might expect them to process individualNode
s. You can still use such methods with individualNode
s, however, sinceNode
extends fromNodeSeq
. This recursive structure works out well for XML. You can think of an individualNode
as a single-elementNodeSeq
.