Соответствие соответствия требованиям Эликсира и Эрланга - программирование
Подтвердить что ты не робот

Соответствие соответствия требованиям Эликсира и Эрланга

Как сделать такой тип соответствия записей в 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
4b9b3361

Ответ 1

См. вопрос для ответа. (Это находится в верхней части оставшегося без ответа списка)

В противном случае я нашел ответ во время моих исследований в сообщении на elixir-lang.org

Для наиболее часто используемых записей:

defrecord :xmlElement, Record.extract(:xmlElement, from_lib: "xmerl/include/xmerl.hrl")
defrecord :xmlText, Record.extract(:xmlText, from_lib: "xmerl/include/xmerl.hrl")