c# - 在c#中将特殊字符写入xml

标签 c# .net xml

我正在使用 LINQ to XML 将元素写入 xml 文档。我遇到的问题是我尝试写入 xml 元素的字符串包含 &、<、> 和 ".

当我使用下面的代码将它写入 xml 时,

XElement Config= new XElement("Student", new XElement("ID", "><&\""));

我没有将这些特殊字符写入 XML 文档。相反,我得到类似 &lt; for < and &gt; for > 的东西.如何在将这些字符写入 xml 时转义这些字符?

谢谢

最佳答案

XDocument 自己转义它们。

<Student><ID>><&"</ID></Student>不是格式正确的 XML。

生成 XDocument 的格式正确的版本是:

<Student>
  <ID>&gt;&lt;&amp;"</ID>
</Student>

您可以使用此代码(使用 CDATA):

XElement Config = new XElement("Student", new XElement("ID", new XCData("><&\"")));

输出:

<Student>
  <ID><![CDATA[><&"]]></ID>
</Student>

关于c# - 在c#中将特殊字符写入xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6996627/

相关文章:

c# - 将 C++ 二维固定长度 char 数组编码(marshal)为结构成员

xml - ionic Cordova ,安卓 :exported needs to be explicitly specified for element <activity#com. gae.scaffolder.plugin.FCMPluginActivity>

python - 如何将空树节点作为空字符串写入xml文件

c# - 如何在 C# 中序列化/反序列化不可变列表类型

c# - 使用 C# 使用 Microsoft.Build.Engine 构建和发布(ASP.NET Web 应用程序)

.net - 如何从 SharePoint 列表中获取列名称?

c# - SqlParameter 已包含在另一个 SqlParameterCollection 中 - 是否使用(){}作弊?

c# - 有没有办法让 DataContractSerializer 输出更清晰的 XML?

c# - 如何使用正则表达式检查电话号码

.net - .NET 的 FileInfo.Length 属性是惰性的吗?