2013-10-10 54 views
3

我正在閱讀一個帶有Xmldocument的xml文件並寫入一些值。我讀的部分看起來像這樣:XmlDocument不保存字符實體

<para styleclass="Normal" style="margin-top:12px; line-height:1.0; tabstops:none;"><table rowcount="22" colcount="4" style="width:100%; cell-padding:1px; cell-spacing:2px; page-break-inside:auto; border-width:0px; border-spacing:2px; cell-border-width:0px; border-style:none; background-color:none; head-row-background-color:none; alt-row-background-color:none;"> 
    <tr style="vertical-align:top"> 
    <td style="vertical-align:bottom; width:33%; background-color:#dddddd;"> 
     <para><text styleclass="Normal" style="font-size:9pt; font-weight:bold; vertical-align:baseline; color:#000000;" translate="true">&#32;</text></para> 
    </td> 
    <td style="vertical-align:bottom; width:22%; background-color:#dddddd;"> 
     <para style="text-align:center;"><text styleclass="Normal" style="font-size:9pt; font-weight:bold; vertical-align:baseline; color:#000000;" translate="true">Windows 32</text></para> 
    </td> 
    <td style="vertical-align:bottom; width:22%; background-color:#dddddd;"> 
     <para style="text-align:center;"><text styleclass="Normal" style="font-size:9pt; font-weight:bold; vertical-align:baseline; color:#000000;" translate="true">Windows 64</text></para> 
    </td> 
    <td style="vertical-align:bottom; width:22%; background-color:#dddddd;"> 
     <para style="text-align:center;"><text styleclass="Normal" style="font-size:9pt; font-weight:bold; vertical-align:baseline; color:#000000;" translate="true">Linux</text></para> 
    </td> 
    </tr> 
    <tr style="vertical-align:top"> 
    <td style="vertical-align:bottom; background-color:#dddddd;"> 
     <para><text styleclass="Normal" style="font-size:9pt; font-weight:bold; vertical-align:baseline; color:#000000;" translate="true">SomeDll.dll</text></para> 
    </td> 
    <td style="width:22%;"> 
     <para style="text-align:center;"><text styleclass="Normal" style="font-size:9pt; vertical-align:baseline; color:#000000;" translate="true">1.0.4.78</text></para> 
    </td> 
    <td style="width:22%;"> 
     <para style="text-align:center;"><text styleclass="Normal" style="font-size:9pt; vertical-align:baseline; color:#000000;" translate="true">1.0.4.77</text></para> 
    </td> 
    <td style="width:22%;"> 
     <para style="text-align:center;"><text styleclass="Normal" style="font-size:9pt; vertical-align:baseline; color:#000000;" translate="true">to be defined</text></para> 
    </td> 
    </tr> 

正如你所看到的,在第二段有一個字符實體(&#3 2)。我不會編輯它,只是去翻閱它。完成編輯後,我使用.save方法保存文件。

問題是,字符實體被保存到它所代表的內容中,在這種情況下是空格「」。如果我現在再次在我的程序中打開xml文件,我得到一個異常,因爲該值爲空。有什麼方法可以將字符實體保存到其實體表單中嗎?

+0

[XDocument.Save()的可能重複刪除我的 實體](http://stackoverflow.com/questions/8811873/xdocument-save-removes-my-xa-entities) – Kami

回答

0

鑑於識別哪些實體已轉換很困難 - 例如,樣本中有很多空間 - 將其轉換回來非常困難。

如果您修改加載程序以允許轉換實體的實例,則可能會更容易。