Popularity
2.3
Stable
Activity
0.0
Stable
12
3
1

Monthly Downloads: 76
Programming language: Elixir
License: Apache License 2.0
Tags: XML    

exmerl alternatives and similar packages

Based on the "XML" category.
Alternatively, view exmerl alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of exmerl or a related project?

Add another 'XML' Package

README

Exmerl

A wrapper for the xmerl_* suite of modules, though at the moment all you can do is parse and use xpaths to select nodes.

Usage

Currently it is possible to parse XML from a file or string using either from_file/1,2, from_string/1,2 or parse/1,2. They all accept an optional Keyword list as the second argument. Possible options can be found in the erlang documentation for the xmerl_* modules.

iex(1)> # you can pass parse/1,2 a filename or an xml string
iex(2)> Exmerl.parse("test.xml")
{{:xmlElement, :root, :root, [], {:xmlNamespace,...
...
...
iex(3)> {doc, rest} = Exmerl.from_string("""<?xml version="1.0" encoding="utf-8" ?><rootnode>Test</rootnode>""")
{{:xmlElement, :root, :root, [], {:xmlNamespace,...
...
...

You can traverse the document by using xpath selectors, and the Exmerl.XPath.find function. find/2,3,4,5 takes an XML document (or a {doc, rest} pair as shown above), an xpath selector, and optional node, parent, and a Keyword list of options. find will accept a {doc,rest} pair to make it easier to pipe the output of parse into find:

iex(1)> Exmerl.parse("test.xml") |>
...(1)>   Exmerl.XPath.find("//some-node-name")
{[{:xmlElement, ...
...
...

In this case, instead of returning [result_term], it will return {[result_term], [rest]}.