Elixir:
Att arbeta med XML

Hur man gör:

Elixir inkluderar inte XML-tolkning i sitt standardbibliotek. SweetXML är ett populärt val. Så här använder du det:

# Lägg till SweetXML i dina beroenden i mix.exs
{:sweet_xml, "~> 0.6"}

# I din kod
importera SweetXml

xml = """
<note>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Påminnelse</heading>
  <body>Glöm inte bort mig denna helg!</body>
</note>
"""

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

Fördjupning

XML, eller Extensible Markup Language, har funnits sedan slutet av 90-talet. Det är utförligt men strukturerat—idealt för komplex datautväxling. Medan JSON:s popularitet sköt i höjden för sin enkelhet, är XML fortsatt djupt rotat i många företags- och finansiella system för sitt uttrycksfulla språk och standardiserade scheman.

Alternativ inkluderar:

  • JSON för lättare, mindre utförlig datautbyte.
  • Protobuf eller Thrift för binär serialiserad datakommunikation, särskilt för interna system.

Under ytan använder XML-bibliotek för Elixir Erlangs :xmerl-bibliotek för tolkning, vilket ger robust stöd men kan vara mindre intuitivt än mer moderna tillvägagångssätt. I takt med att Elixir utvecklas, paketerar gemenskapsdrivna bibliotek som SweetXML dessa med en mer Elixir-aktig syntax, vilket gör manipulationer av XML mer tillgängliga.

Se även: