Elixir:
XML 다루기

방법:

엘릭서는 표준 라이브러리에 XML 파싱 기능을 포함하고 있지 않습니다. SweetXML은 인기 있는 선택입니다. 사용 방법은 다음과 같습니다:

# mix.exs에 SweetXML을 의존성으로 추가
{:sweet_xml, "~> 0.6"}

# 코드에서
import SweetXml

xml = """
<note>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>
"""

# XML 파싱
note = xml |> xpath(~x"//note")
to = xml |> xpath(~x"//note/to" |> inner_text())
IO.puts to # 출력: Tove

심층 탐구

XML, 또는 확장 가능 마크업 언어는 90년대 후반부터 사용되어왔습니다. 그것은 장황하지만 구조적이므로 복잡한 데이터 교환에 이상적입니다. JSON의 간결함으로 인해 인기가 급상승했음에도 불구하고, XML은 여전히 많은 기업 및 금융 시스템에서 그 표현력과 표준화된 스키마로 인해 깊이 자리 잡고 있습니다.

대안으로는 다음이 있습니다:

  • 데이터 교환에 더 가벼우면서 덜 장황한 JSON.
  • 내부 시스템, 특히 이진 직렬화된 데이터 통신에 대한 Protobuf 또는 Thrift.

내부적으로, 엘릭서의 XML 라이브러리는 파싱을 위해 엘랭의 :xmerl 라이브러리를 활용합니다. 이는 강력한 지원을 제공하지만 더 현대적인 접근법보다 직관성이 떨어질 수 있습니다. 엘릭서가 발전함에 따라, 커뮤니티 주도 라이브러리인 SweetXML과 같은 라이브러리는 이러한 기능을 더 엘릭서적인 문법으로 래핑함으로써 XML 조작을 더 접근하기 쉽게 만듭니다.

참고: