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:
- SweetXML på Hex: https://hex.pm/packages/sweet_xml
- Elixirs syn på XML-tolkning: https://elixir-lang.org/getting-started/mix-otp/dependencies-and-umbrella-projects.html
- xmerl-dokumentation för underliggande XML-hantering: http://erlang.org/doc/apps/xmerl/index.html