嗨我有一个带实体的xml文件, 下面是我的一段xml代码
<line>Intellectual life – 1268–1559. I. Title.</line>
<line>DG533.R84 2015</line>
<line>945′.05–dc23 2014019659</line>
当我在c#中加载上面的xml时,实体丢失并被其他一些值替换, 我可以知道是什么原因
下面的是使用c#
修改的xml<line>Intellectual life – 1268–1559. I. Title.</line>
<line>DG533.R84 2015</line>
<line>945′.05–dc23 2014019659</line>
我希望修改后的xml与source xml
相同这是我执行上述过程的c#代码
using System.Xml;
XmlDocument doc= new XmlDocument();
doc.Load("sample.xml");
doc.Save("sample.xml");
由于 阿普
答案 0 :(得分:2)
How do I preserve special characters when writing XML with XDocument.Save()?
根据@ JonSkeet在上面链接中的答案,他们(编码实体及其相应的字符被保存)只是同一事物的不同表示。这种翻译不会给你带来任何麻烦,因为通常进一步处理XML的接收方会将这两种表示识别为同一事物。
XDocument.Save() removes my 
 entities
如果您确实需要保留实体,还可以尝试通过继承XmlTextWriter
类并覆盖它的WriteString()
方法来手动用相应的实体替换每个特殊字符。有关示例实现,请参见上面的第二个链接无论如何,如果要保留许多不同的实体,这种方法将会很麻烦。