Elixir:
Praca z XML

Jak to zrobić:

Elixir standardowo nie zawiera analizy XML w swojej bibliotece standardowej. Popularnym wyborem jest SweetXML. Oto jak z niego korzystać:

# Dodaj SweetXML do swoich zależności w mix.exs
{:sweet_xml, "~> 0.6"}

# W swoim kodzie
import SweetXml

xml = """
<note>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Przypomnienie</heading>
  <body>Nie zapomnij o mnie w ten weekend!</body>
</note>
"""

# Analiza XML
note = xml |> xpath(~x"//note")
to = xml |> xpath(~x"//note/to" |> inner_text())
IO.puts to # Wynik: Tove

Dogłębna analiza

XML, czyli Rozszerzalny Język Znaczników, istnieje od końca lat 90. Jest rozwlekły, ale strukturalny — idealny do złożonej wymiany danych. Pomimo że popularność JSON wzrosła ze względu na jego prostotę, XML pozostaje zakorzeniony w wielu systemach korporacyjnych i finansowych ze względu na swoją ekspresyjność i standaryzowane schematy.

Alternatywy to:

  • JSON dla lżejszej, mniej rozwlekłej wymiany danych.
  • Protobuf lub Thrift dla binarnie serializowanej komunikacji danych, szczególnie w systemach wewnętrznych.

Pod maską, biblioteki XML dla Elixira wykorzystują bibliotekę :xmerl z Erlanga do analizy, która zapewnia solidne wsparcie, ale może być mniej intuicyjna niż nowocześniejsze podejścia. W miarę rozwoju Elixira, biblioteki prowadzone przez społeczność, takie jak SweetXML, opakowują te funkcje w bardziej Elixir-ową składnię, ułatwiając manipulacje XML.

Zobacz również: