我的HTTP请求的响应体是XML。XML相当复杂,可能包含双引号。我想通过在我的代码中提供一个典型的XML响应示例来模拟响应。我似乎找不到一种将XML作为简单字符串提供的方法。下面是XML开头的一个例子,它给Elixir带来了很多麻烦:
<Title xmlns="http://website/namespaces/thing" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" .... >HTTPoison的body响应为body:{ ... }。因此,我需要在元组中提供XML字符串,而不使用Elixir。我尝试过sigils,但没有成功。
谢谢!
发布于 2017-07-11 00:20:24
另一种解决方案是使用模块属性:
@xml """
my xml in here
"""通过使用sweet_xml,我能够
myparse = parse(@xml)起了个魔力。
我还想研究一下sweet_xml的stream_tags函数,在lib文件夹中另存为一个单独的.xml文件很有用。
发布于 2017-07-09 17:00:41
如果您想模拟XML响应,可以使用库:https://github.com/parroty/exvcr
当你第一次测试的时候,它会记录一个请求。之后,您将在json文件中使用保存的响应。
https://stackoverflow.com/questions/44989281
复制相似问题