-
Notifications
You must be signed in to change notification settings - Fork 93
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.Nodeis the abstract superclass of all XML node classes. -
scala.xml.Textis aNodeholding just text. For example, the "text" part of<tag>text</tag>is of classscala.xml.Text. -
NodeSeqrepresents a sequence ofNodes. Many methods in the XML library processNodeSeqs in places you might expect them to process individualNodes. You can still use such methods with individualNodes, however, sinceNodeextends fromNodeSeq. This recursive structure works out well for XML. You can think of an individualNodeas a single-elementNodeSeq.