我有一個XML文件沒有雙引號的屬性值。以下是一個示例。正如你所看到的,這些都是可能的值,我嘗試使用正則表達式*=\s*([^" >]+)
,並用="\1"
取代,這在大多數情況下起作用,但它有兩個問題。
任何幫助,將不勝感激。正則表達式記事本+ +:使用查找替換爲XML屬性值引用替換
- 它不會用雙引號(「」)替換空值(eg.status)。
- 它取代僅當值具有sentence.eg的第一個字(介紹)
樣品輸入:
<tool id=2 code=abc description=my description end here my_levels=$15,000/$30,000 individual_level= amount=0 status= my_code=P my_date=2017-02-21T00:00:00 points= />
預期的結果:
<tool id="2" code="123abc" description="my description end here" my_levels="$15,000/$30,000" individual_level="" amount="0" status="" my_code="P" my_date="2017-02-21T00:00:00" points="" />
你可能不會用正則表達式來解決這個問題。生成無效的XML已經丟棄了一些信息。由於屬性值可能包含等號符號(不能確定它們沒有),因此存在無法解析的歧義。唯一合理的解決方案是在源代碼處修復XML的生成,這是屬性值明確已知的地方。 –
我相信我們沒有=在xml中的值。 – KKR