好吧,我觉得问这个真的很愚蠢。我看到很多其他问题与我的问题类似,但似乎没有一个能够回答。
我正在为一个对语法非常挑剔的程序创建一个 xml 文件。遗憾的是我正在从头开始制作 XML 文件。意思是,我将每一行单独放置(很多 file.WriteLine(String))。
我知道这很丑陋,但这是让逻辑可行的唯一方法。
无论如何。我有一些字符串,其中包含“&”。
if (value.Contains("&"))
{
value.Replace("&", "&");
}
好像不行。 value.Contains() 似乎看到了,但替换不起作用。我正在使用 C# .Net 2.0 sp2。对比 2005。
请帮帮我..这是漫长的一周..
最佳答案
如果你真的想走那条路,你必须将 Replace
的结果(该方法返回一个新的字符串,因为字符串是不可变的)返回给变量:
value = value.Replace("&", "&");
不过,我建议重新考虑您编写 XML 的方式。如果您切换到使用 XmlTextWriter
,它将为您处理所有编码(不仅是&符号,还有所有其他需要编码的字符):
using(var writer = new XmlTextWriter(@"C:\MyXmlFile.xml", null))
{
writer.WriteStartElement("someString");
writer.WriteText("This is < a > string & everything will get encoded");
writer.WriteEndElement();
}
应该产生:
<someString>This is < a > string &
everything will get encoded</someString>
关于c# - 在 C# 中将 & 替换为 &,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3834217/