0
我有一個正在使用外部設備數據的Lua程序。該設備將返回格式不正確的XML看起來像:在Lua中修復壞的XML
<element attribute1="value1" attribute2="value2" attribute3=" m "value3" " attribute4="value4" />
特別是某些字段是用戶可編輯和可可以想象包含應該逃出的項目,但都沒有。希望我能得到修復這些消息的代碼,但在此之前,我需要一種解決方法來嘗試「做正確的事情」。這些消息也似乎總是在一個固定的格式屬性以相同的順序和始終存在(據我可以告訴),所以我可以用一個非常嚴格的模式匹配,如:
string.match(str, 'attribute1="(.*)" attribute2="(.*)" attribute3="(.*)" attribute4="(.*)")
但這似乎真的如果他們決定更改格式(如果不修復問題),那麼它會自然中斷。(
對於替代解決方案有什麼建議嗎?我主要關心的是找到需要變成&的「s」。其他的XML實體我並不擔心。
我認爲對於我的情況,我會更好的只是先做正則表達式,然後如果失敗就會回落(並且吐出一個警告)。我只是轉發XML,而不是消耗它,所以我只是想爲後來實際使用它的代碼做好事。 – Dolphin 2009-06-29 00:58:12