Как сделать такой тип соответствия записей в Elixir?
[ #xmlText{value=Rank} ] = xmerl_xpath:string("//SalesRank/text()", Xml),
Бонус: перепишите этот пример из блога Дейва Томаса в Эликсире.
Обновить:
нашел, что было моей проблемой. Вы должны использовать
defrecord :xmlText, Record.extract(:xmlText, from_lib: 'xmerl/include/xmerl.hrl')
чтобы извлечь запись из XMerL lib в вашу программу, как указано здесь. Затем синтаксис .value
работает, и строка может быть записана следующим образом:
rank = Enum.first(xmerl_xpath.string('//SalesRank/text()', xml)).value