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

Processando arquivos XML

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

Scala pode ser utilizado para facilmente criar, parsear e processar documentos XML. Os dados de um XML podem ser representados em Scala utilizando uma representação de dados genérica ou específica. A última abordagem é suportada através da ferramenta de data-binding schema2src.

Representação em Tempo de Execução

Um XML é representado como uma árvore de rótulos. A partir de Scala 1.2 (versões anteriores é necessário utilizar a opção -Xmarkupoption), você pode convenientemente criar esses nós rotulados usando a sintaxe XML padrão.

Considere o seguinte documento XML:

<html>
 <head>
 <title>Olá mundo XHTML</title>
 </head>
 <body>
 <h1>Olá mundo</h1>
 <p><a href="http://scala-lang.org/">Scala</a> fala XHTML</p>
 </body>
</html>

Tal documento pode ser criado através do seguinte código:

object XMLTest1 extends App {
 val pagina = 
 <html>
 <head>
 <title>Olá mundo XHTML</title>
 </head>
 <body>
 <h1>Olá mundo</h1>
 <p><a href="scala-lang.org">Scala</a> fala XHTML</p>
 </body>
 </html>;
 println(pagina.toString())
}

É também possível combinar expressões Scala e sintaxe XML:

object XMLTest2 extends App {
 import scala.xml._
 val df = java.text.DateFormat.getDateInstance()
 val stringData = df.format(new java.util.Date())
 def data(nome: String) = 
 <msgData enderecadoA={ nome }>
 Olá, { nome }! Hoje é { stringData }
 </msgData>;
 println(data("John Doe").toString())
}

Data Binding

Em muitos casos você tem um DTD para os documentos XMLs que você quer processar. Você poderá precisar criar classes especiais em Scala com código para parsear e salvar tais documentos. Para isso, Scala fornece uma ferramenta elegante que converte seus DTDs em coleções de definições de classes Scala, que fazem todo o trabalho para você. A documentação e exemplos sobre a ferramenta schema2src podem ser encontrados no livro de Burak's draft scala xml book.

Clone this wiki locally

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