scala
import scala.xml.XML
val xmlString = "<book><title>Scala Programming</title><author>John Smith</author></book>"
val xmlDoc = XML.loadString(xmlString)
println(xmlDoc)
<book><title>Scala Programming</title><author>John Smith</author></book>
scala
import scala.xml.XML
val xmlDoc = XML.loadFile("books.xml")
val bookTitles = (xmlDoc \ "book" \ "title").map(_.text)
println(bookTitles)
scala
import scala.xml.{Elem, XML}
val xmlString = "<book><title>Scala Programming</title><author>John Smith</author></book>"
val xmlDoc = XML.loadString(xmlString)
val outputFile = "output.xml"
XML.save(outputFile, xmlDoc)
println("XML document saved to file: " + outputFile)
scala
import scala.xml.XML
import scala.xml.parsing.XhtmlParser
import scala.xml.parsing.NoBindingFactoryAdapter
import org.xml.sax.InputSource
import javax.xml.xpath.XPathFactory
import javax.xml.xpath.XPath
val xmlDoc = XML.loadFile("books.xml")
val xpathExpr = "//book[author='John Smith']"
val xpath = XPathFactory.newInstance().newXPath()
val nodeList = xpath.evaluate(xpathExpr, new InputSource(xmlDoc.toString), XPathConstants.NODESET)
for (i <- 0 until nodeList.getLength) {
val node = nodeList.item(i)
println(node.getTextContent)
}
scala
import scala.xml._
val xmlDoc = <books>
<book>
<title>Scala Programming</title>
<author>John Smith</author>
</book>
</books>
val newBook = <book>
<title>Scala in Practice</title>
<author>Jane Doe</author>
</book>
val updatedDoc = xmlDoc.copy(child = xmlDoc.child ++ newBook)
println(updatedDoc)