Elixir:
Trabalhando com XML

Como fazer:

Elixir não inclui análise de XML em sua biblioteca padrão. SweetXML é uma escolha popular. Aqui está como usá-lo:

# Adicione o SweetXML às suas dependências em mix.exs
{:sweet_xml, "~> 0.6"}

# No seu código
import SweetXml

xml = """
<note>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Lembrete</heading>
  <body>Não me esqueça este fim de semana!</body>
</note>
"""

# Analisar XML
note = xml |> xpath(~x"//note")
to = xml |> xpath(~x"//note/to" |> inner_text())
IO.puts to # Saída: Tove

Aprofundando

XML, ou Linguagem de Marcação Extensível, existe desde o final dos anos 90. É verboso, mas estruturado — ideal para intercâmbio de dados complexos. Enquanto a popularidade do JSON disparou pela sua simplicidade, o XML permanece enraizado em muitos sistemas empresariais e financeiros por sua expressividade e esquemas padronizados.

Alternativas incluem:

  • JSON para troca de dados mais leve e menos verbosa.
  • Protobuf ou Thrift para comunicação de dados serializados binários, particularmente para sistemas internos.

Por baixo do capô, as bibliotecas XML para Elixir aproveitam a biblioteca :xmerl da Erlang para análise, que fornece suporte robusto, mas pode ser menos intuitiva do que abordagens mais modernas. À medida que Elixir evolui, bibliotecas impulsionadas pela comunidade como SweetXML envolvem essas com uma sintaxe mais Elixir-esque, tornando manipulações XML mais acessíveis.

Veja também: