这是一些 C# 代码:
var sb = new StringBuilder();
var w = XmlWriter.Create(sb);
w.WriteStartElement("hello");
w.WriteAttributeString("target", "world ' \" !");
w.WriteEndElement();
w.Flush();
// then look at sb.ToString()
我得到一个看起来像这样的字符串:
<?xml version="1.0" encoding="utf-16"?><hello target="world ' " !" />
它只是转义双引号,而不是单引号。但是 XmlWriter.WriteAttributeString(String, String) 的文档说:
如果属性值包含双引号或单引号,则将它们替换为 " 和’ 分别。
是否需要设置一些标志以使其执行文档所说的操作?