Я пытаюсь создать XML из значений erlang и вернуть этот XML через сокет.
Итак,
Value = 2, Type = "3", Scope = anatom
Мне бы хотелось
<?xml version="1.0"?>
<result value=2 type="3" scope="anatom" />
ЧтоЯ получаю в этом случае экранированный и содержит кавычки вокруг 2 и 3:
"<?xml version=\"1.0\"?><result value=\"2\" type=\"3\" scope=\"anatom\"/>"
Если какое-либо из этих значений имеет список, как в
Value = 2, Type = "3", Scope = [1,2]
, я получаю что-то вроде[60,63,120,109, ...] когда я хотел бы
<?xml version="1.0\"?> <result value=2 type="3" scope=[1,2]/>"
У меня есть подпрограмма форматирования XML, которая выглядит как
format_return({ok, {V, T, S}}) ->
Data = {result,
[{value, V}, {type, T}, {scope, S}],
[]},
xmerl_ucs:to_utf8(xmerl:export_simple([Data], xmerl_xml)).
И она вызывается
...
Reply = xml_formater:format_return(Reply),
{ok, Reply, State}
Ответ, приведенный выше, возвращается к моему общему типу сокетов, что, в свою очередь, приводит к
gen_tcp:send(Socket, io_lib:fwrite("~p~n",[Reply])),
Может ли какой-нибудь добрый человек избавить меня от моих страданий?