我有一个使用外部设备数据的Lua程序。设备返回的XML格式不正确,如下所示:
<element attribute1="value1" attribute2="value2" attribute3=" m "value3" " attribute4="value4" />
特别是,有些字段是用户可编辑的,可能包含应该转义但不应该转义的项。希望我可以修复生成这些消息的代码,但在此之前,我需要一个变通方法来尝试“做正确的事情”。消息似乎是以固定格式来的,属性总是以相同的顺序出现(据我所知),因此我可以使用非常严格的模式匹配,如:
string.match(str, 'attribute1="(.*)" attribute2="(.*)" attribute3="(.*)" attribute4="(.*)")
但如果他们决定改变格式(而不解决问题),这看起来真的很棘手,当然会中断。
有其他解决方案的建议吗?我主要关心的是找到需要转换为"的。我不太担心其他XML实体。