在c#asp.net中加载文档时缺少xml实体
本文关键字:xml 实体 文档 c#asp net 加载 | 更新日期: 2023-09-27 18:20:48
嗨,我有一个包含实体的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与源xml 相同
这是我的c#代码,上面处理
using System.Xml;
XmlDocument doc= new XmlDocument();
doc.Load("sample.xml");
doc.Save("sample.xml");
谢谢Appu
使用XDocument.Save()编写XML时,如何保留特殊字符?
根据@JonSkeet在上述链接中的回答,它们(编码的实体及其保存的相应字符)只是同一事物的不同表示。这种翻译不会给您带来任何麻烦,因为通常进一步处理XML的接收方会将任何一种表示识别为相同的东西。
XDocument.Save()删除我的&xA;实体
如果您真的需要保留实体,也可以尝试通过继承XmlTextWriter
类并重写它的WriteString()
方法来手动用相应的实体替换每个特殊字符。请参阅上面的第二个链接以获取示例实现。无论如何,如果要保留许多不同的实体,这种方法将非常麻烦。