在c#asp.net中加载文档时缺少xml实体

本文关键字:xml 实体 文档 c#asp net 加载 | 更新日期: 2023-09-27 18:20:48

嗨,我有一个包含实体的xml文件,下面是我的一段xml代码

<line>Intellectual life &#x2013; 1268&#x2013;1559. I. Title.</line>
<line>DG533.R84 2015</line>
<line>945&#x2032;.05&#x2013;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与源xml 相同

这是我的c#代码,上面处理

using System.Xml;
XmlDocument doc= new XmlDocument();
doc.Load("sample.xml");
doc.Save("sample.xml");

谢谢Appu

在c#asp.net中加载文档时缺少xml实体

使用XDocument.Save()编写XML时,如何保留特殊字符?

根据@JonSkeet在上述链接中的回答,它们(编码的实体及其保存的相应字符)只是同一事物的不同表示。这种翻译不会给您带来任何麻烦,因为通常进一步处理XML的接收方会将任何一种表示识别为相同的东西。

XDocument.Save()删除我的&xA;实体

如果您真的需要保留实体,也可以尝试通过继承XmlTextWriter类并重写它的WriteString()方法来手动用相应的实体替换每个特殊字符。请参阅上面的第二个链接以获取示例实现。无论如何,如果要保留许多不同的实体,这种方法将非常麻烦。