XDocument保存&而不仅仅是&
本文关键字:不仅仅是 amp 保存 XDocument | 更新日期: 2023-09-27 18:17:25
我使用XDocument来切换xml文档中的值。在新值中,我需要使用字符'&' (&)但是在XDocument.save()之后,xml变成了&
!
我尝试使用编码和东西…没有工作
XDocument正在做它应该做的事情。
&
是无效的XML。(这是一个未完成的字符/实体引用)
&
在XML中意味着"一个实体的开始",所以如果你想包含一个&
作为数据,你必须将其表达为一个实体- &
(或在CDATA块中使用它)。
你所描述的是正常的行为,否则XML会中断。
有两种选择。要么确保对XML文档中的所有内容进行正确的XML编码/解码。请记住,HTML和XML编码/解码略有不同。
选项二是对xml中可能包含无效元素的任何内容使用base64编码。
您的输出文件app.config应该是XML文件吗?
如果是,则&必须转义为&
。
如果不是,那么您应该使用文本输出方法而不是xml输出方法:使用<xsl:output method='text'/>
.
PS:这个问题似乎是我如何在ASP.net/C#应用配置文件值