Skip to content

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-bindingschema2src.

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><ahref="http://scala-lang.org/">Scala</a> fala XHTML</p></body></html>

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

objectXMLTest1extendsApp{valpagina= <html> <head> <title>Olá mundo XHTML</title> </head> <body> <h1>Olá mundo</h1> <p><ahref="scala-lang.org">Scala</a> fala XHTML</p> </body> </html> println(pagina.toString()) }

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

objectXMLTest2extendsApp{importscala.xml._valdf= java.text.DateFormat.getDateInstance() valstringData= df.format(new java.util.Date()) defdata(nome: String) = <msgDataenderecadoA={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