Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gunnar2k/elixir-map-to-xml
Converts an Elixir map to an XML document.
https://github.com/gunnar2k/elixir-map-to-xml
xml
Last synced: 7 days ago
JSON representation
Converts an Elixir map to an XML document.
- Host: GitHub
- URL: https://github.com/gunnar2k/elixir-map-to-xml
- Owner: gunnar2k
- Created: 2020-07-15T20:03:25.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2020-07-19T15:27:48.000Z (over 4 years ago)
- Last Synced: 2024-05-02T12:37:53.115Z (6 months ago)
- Topics: xml
- Language: Elixir
- Homepage: https://hexdocs.pm/elixir_map_to_xml
- Size: 9.77 KB
- Stars: 5
- Watchers: 0
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- freaking_awesome_elixir - Elixir - Converts an Elixir map to an XML document. (XML)
- fucking-awesome-elixir - elixir-map-to-xml - Converts an Elixir map to an XML document. (XML)
- awesome-elixir - elixir-map-to-xml - Converts an Elixir map to an XML document. (XML)
README
# MapToXml
Converts an Elixir map to an XML document. Inspired by [XmlToMap](https://github.com/homanchou/elixir-xml-to-map).
Documentation can be found at [https://hexdocs.pm/elixir_map_to_xml](https://hexdocs.pm/elixir_map_to_xml).
## Installation
If [available in Hex](https://hex.pm/docs/publish), the package can be installed
by adding `elixir_map_to_xml` to your list of dependencies in `mix.exs`:```elixir
def deps do
[
{:elixir_map_to_xml, "~> 0.1.0"}
]
end
```## Usage
### Basic example
```elixir
MapToXml.from_map(%{
"tag1" => "value1",
"tag2" => "value2",
"tag3" => "value3"
})
```will output:
```xml
value1
value2
value3
```### Nested maps
```elixir
MapToXml.from_map(%{
"tag1" => %{
"tag2" => %{
"tag3" => "value"
}
}
})
```will output:
```xml
value
```
### Repeated child tags
```elixir
MapToXml.from_map(%{
"Tags" => %{
"Tag1" => [
%{"Sub1" => "Val1"},
%{"Sub1" => "Val2"},
%{"Sub1" => "Val3"}
]
}
})
```will output:
```xml
Val1
Val2
Val3
```
### Attributes
```elixir
MapToXml.from_map(%{
"Tag1" => %{
"#content" => "some value",
"-id" => 123,
"-something" => "111"
}
})
```will output:
```xml
some value
```See [tests](test/map_to_xml_test.exs) for some more examples.