Elixir:
XML:n käsittely

Kuinka:

Elixir ei sisällä XML-jäsentämistä vakio kirjastossaan. SweetXML on suosittu valinta. Näin sitä käytetään:

# Lisää SweetXML riippuvuuksiin mix.exs-tiedostossa
{:sweet_xml, "~> 0.6"}

# Koodissasi
import SweetXml

xml = """
<note>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Muistutus</heading>
  <body>Älä unohda minua tänä viikonloppuna!</body>
</note>
"""

# Jäsennä XML
note = xml |> xpath(~x"//note")
to = xml |> xpath(~x"//note/to" |> inner_text())
IO.puts to # Tuloste: Tove

Syväsukellus

XML eli Laajennettava Merkintäkieli on ollut olemassa 90-luvun lopusta lähtien. Se on verbositetiivinen, mutta rakenteellinen - ideaali monimutkaisille tiedonvaihdoille. Vaikka JSONin suosio nousi sen yksinkertaisuuden vuoksi, XML pysyy vakiintuneena monissa yritys- ja finanssijärjestelmissä sen ilmaisuvoiman ja standardoitujen kaavioiden vuoksi.

Vaihtoehtoja ovat:

  • JSON kevyemmälle, vähemmän verbositetiiviselle tiedonvaihdolle.
  • Protobuf tai Thrift binääriserialisoituja dataviestinnälle, erityisesti sisäisissä järjestelmissä.

Pinnan alla Elixirin XML-kirjastot hyödyntävät Erlangin :xmerl-kirjastoa jäsentämiseen, joka tarjoaa vankkaa tukea, mutta voi olla vähemmän intuitiivinen kuin modernimmat lähestymistavat. Elixirin kehittyessä yhteisön ohjaamat kirjastot kuten SweetXML kietovat nämä Elixir-mielisemmällä syntaksilla, tehden XML-manipulaatiot helpommin lähestyttäviksi.

Katso myös: