我正在嘗試在xml文件中輸出RegEx
作爲屬性。RegEx應該作爲CDATA還是作爲屬性存儲在XML中?
的問題是,在XML輸出生成的正則表達式比一個不同的我在數據庫:
-- database
[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@([a-z0-9_-]+\.)+(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum|[a-z]{2})
-- generated
[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@([a-z0-9_-]+\.)+(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum|[a-z]{2})
我應該正則表達式保存爲<![CDATA[ regex ]]>
或者這只是XML文件的默認行爲(編碼一些字符,並在我讀回時自動解碼)?
這是我的代碼必須生成元素:
XElement attr =
new XElement("Attribute",
new XAttribute("RegEx", item.RegularExpression)
);
而這正是它產生:
<Attribute RegEx="[a-z0-9!#$%&amp;&apos;*+\/=?^_`{|}~-]+(\.[a-z0-9!#$%&amp;&apos;*+\/=?^_`{|}~-]+)*@([a-z0-9_-]+\.)+(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum|[a-z]{2})" />
事實上,你想導出一個正則表達式,最終表明它將被導入並執行。請注意,這是一個潛在的ReDoS漏洞:http://en.wikipedia.org/wiki/ReDoS –
我不知道這個 – Catalin