如何在Freeswitch中使用lua解析xua中的xml文件?
我尝试了这些项目:
https://github.com/manoelcampos/LuaXML
https://github.com/Cluain/Lua-Simple-XML-Parser
https://github.com/Phrogz/SLAXML
以下是从ASR模块回调的示例xml:
<?xml version="1.0"?>
<result grammar="pvn_accept">
<interpretation grammar="pvn_accept" confidence="100">
<input mode="speech">accept</input>
</interpretation>
</result>
由于匿名功能,它们都失败了。
'<name>' expected near anonymous function lua
Freeswitch是否有内置支持来解析xml?
注意:lua文件存储为.m4
答案 0 :(得分:1)
我们弄清楚发生了什么。这是因为存储了扩展名为.m4的lua文件,格式为m4关键字。
例如在https://github.com/Cluain/Lua-Simple-XML-Parser中,我们必须进行此更改:
function XmlParser:ToXmlString(value)
value = string.gsub(value, "&", "&"); -- '&' -> "&"
value = string.gsub(value, "<", "<"); -- '<' -> "<"
value = string.gsub(value, ">", ">"); -- '>' -> ">"
value = string.gsub(value, "\"", """); -- '"' -> """
value = string.gsub(value, "([^%w%&%;%p%\t% ])",
function(c)
return string.`format'("&#x%X;", string.byte(c))
end);
return value;
end