外部デバイスからのデータを使用する Lua プログラムがあります。デバイスは、次のような不正な XML を返しています。
<element attribute1="value1" attribute2="value2" attribute3=" m "value3" " attribute4="value4" />
特に、一部のフィールドはユーザーが編集可能であり、エスケープする必要がある項目が含まれている可能性がありますが、そうではありません。これらのメッセージを生成するコードを修正できることを願っていますが、それまでは「正しいことを行う™」ための回避策が必要です。メッセージは、属性が常に同じ順序で常に存在する固定形式で送信されるように見えるので (私が知る限り)、次のような非常に制限的なパターン マッチを使用できます。
string.match(str, 'attribute1="(.*)" attribute2="(.*)" attribute3="(.*)" attribute4="(.*)")
しかし、これは非常に厄介なようで、フォーマットを変更することを決定した場合 (問題を修正せずに.
代替ソリューションの提案はありますか? 私は主に " に変換する必要がある " を見つけることに関心があります。他の XML エンティティについてはそれほど心配していません。