Вот код 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) говорят:
Если значение атрибута включает двойные или одинарные кавычки, они
заменено на & quot; и & apos; соответственно. * * 1 010
Есть ли какой-нибудь флаг, который мне нужно установить, чтобы заставить его делать то, что говорят документы?