Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Procesamiento de documentos XML

Aaron S. Hawley edited this page Apr 20, 2017 · 1 revision

Scala ha sido usado para crear, parsear y procesar de forma fácil documentos XML. Datos XML pueden ser representados en Scala tanto usando una representación genérica, o con una representación específica. Este último es soportado por la herramienta de data-binding schema2src.

Representación en ejecución

Los datos en XML son representados como árboles etiquetados. A partir de Scala 1.2 (versiones previas debían usar la opción -Xmarkup), es posible crear convenientemente tales nodos etiquetados utilizando sintaxis XML.

Considera el siguiente documento XMl:

<html>
 <head>
 <title>Hello XHTML world</title>
 </head>
 <body>
 <h1>Hello world</h1>
 <p><a href="http://scala-lang.org/">Scala</a> talks XHTML</p>
 </body>
</html>

Este documento puede ser creado por el siguiente programa en Scala:

object XMLTest1 extends App {
 val page = 
 <html>
 <head>
 <title>Hello XHTML world</title>
 </head>
 <body>
 <h1>Hello world</h1>
 <p><a href="scala-lang.org">Scala</a> talks XHTML</p>
 </body>
 </html>;
 println(page.toString())
}

Es posible mezclar expresiones Scala y XML:

object XMLTest2 extends App {
 import scala.xml._
 val df = java.text.DateFormat.getDateInstance()
 val dateString = df.format(new java.util.Date())
 def theDate(name: String) = 
 <dateMsg addressedTo={ name }>
 Hello, { name }! Today is { dateString }
 </dateMsg>;
 println(theDate("John Doe").toString())
}

Data Binding

En muchos casos se tiene un DTD para los documentos XML que se quieren procesar. En este caso se quieren crear clases especiales para esto, y algo de código para parsear y guardar el XML. Scala tiene una ingeniosa herramienta que transforma tus DTDs en una colección de definiciones de clases en Scala que hacen todo el trabajo.

La documentación y ejemplos para la herramienta schema2src se pueden encontrar en el libro de Burak draft scala xml book.

Clone this wiki locally

AltStyle によって変換されたページ (->オリジナル) /