2008-10-28 63 views
0

我必須得到一個快速而髒的配置編輯器。流程是這樣的:你如何處理轉義的無效屬性字符?

配置(波蘇斯在服務器上) - > XML(連載,轉移爲XElements網站) - >文本(編輯到位網頁) (修改)
文本編輯器 - > XElement(Parse提交的表單值) - >配置

問題是序列化不能轉義任何字符串。但是當我嘗試將它解析回xml時,我無法弄清楚如何在不引發異常的情況下將字符串轉換爲XElement。

例如,假設我有一個具有正則表達式的對象。這將是這將是在編輯器中的片段:

<Validator Expression="[^<]" /> 

但是,回程,我不能回的XElement的形式,是因爲該屬性具有非法字符。

我無法弄清楚如何指示串行逃脫字符,我無法弄清楚如何讓解析器忽略他們的方式回。

我能看到的唯一方法圍繞這是做了一些真正粗略的正則表達式替換對XML,我幾乎完全保證擰在一些角落的情況下或另一個。

還有別的辦法嗎?

回答

1

好的,取代我的答案 - 我想我明白你現在從哪裏來。

你的網頁結束了與像源:

<textarea> 
    <Validator Expression="[^<;]"/> 
</textarea> 

甚至

<textarea> 
    &lt;Validator Expression="[^&lt;]"/&gt; 
</textarea> 

您需要仔細編碼值的屬性,讓他們顯示爲編碼值textarea:

<textarea> 
    &lt;Validator Expression="[^&amp;lt;]"/&gt; 
</textarea>