我的HTTP请求的响应主体是XML。 XML非常复杂,可能包含双引号。 我想通过在我的代码中提供典型XML响应的示例来模拟响应。我似乎找不到将XML作为简单字符串提供的方法。 这是一个从XML开始导致Elixir痛苦的例子:
<Title xmlns="http://website/namespaces/thing" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" .... >
HTTPoison的身体反应是身体:{...}。所以我需要在元组内部提供XML字符串,而Elixir不会爆炸。我已经尝试过没有成功的印记。
谢谢!
答案 0 :(得分:0)
另一种解决方案是使用模块属性:
@xml """
my xml in here
"""
使用sweet_xml我能够
myparse = parse(@xml)
工作了一个魅力。
我还想调查sweet_xml的stream_tags函数,并在lib文件夹中保存为单独的.xml文件很有用。
答案 1 :(得分:-1)
如果您想模拟XML响应,可以使用库:https://github.com/parroty/exvcr
当您第一次进行测试时,它会记录请求。之后,您将在json文件中使用已保存的响应。