【发布时间】:2013-06-25 02:51:37
【问题描述】:
如何在 Elixir 中进行这种记录模式匹配?
[ #xmlText{value=Rank} ] = xmerl_xpath:string("//SalesRank/text()", Xml),
奖励:重写 Dave Thomas 在 Elixir 中的博客中的 this 示例。
更新:
找到了我的问题。你必须使用
defrecord :xmlText, Record.extract(:xmlText, from_lib: 'xmerl/include/xmerl.hrl')
从 XMerL 库中提取记录到您的程序中,如 here 所述。那么.value 语法就起作用了,该行可以写成如下:
rank = Enum.first(xmerl_xpath.string('//SalesRank/text()', xml)).value
【问题讨论】:
-
Henry,请您将其转换为答案并将其标记为已接受。谢谢!