У меня есть следующий тестовый пример:
[TestMethod]
public void SimpleEncodingTest()
{
var report = new SimpleReport{Title = @"[quote]""[/quote] [apo]'[/apo] [smaller]<[/smaller] [bigger]>[/bigger] [and]&[/and]" };
XmlSerializer xsSubmit = new XmlSerializer(typeof(SimpleReport));
var xml = "";
using (var sww = new StringWriter())
{
using (XmlWriter writer = XmlWriter.Create(sww, new XmlWriterSettings
{
Encoding = Encoding.Default
}))
{
xsSubmit.Serialize(writer, report);
xml = sww.ToString(); // Your XML
}
}
}
Я хочу, чтобы все специальные символы, включая кавычки в апострофе, были включены следующим образом:
<?xml version="1.0" encoding="utf-16" ?>
<SimpleReport xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Title>[quote]"[/quote] [apo]'[/apo] [smaller]<[/smaller] [bigger]>[/bigger] [and]&[/and]</Title>
</SimpleReport>
С заголовком "[ quote] "[/ quote] [apo] '[/ apo] [меньше] <[/ меньше] [больше]> [/ больше] [и] & [/ и]"
Вместо этого я получаю:
<?xml version="1.0" encoding="utf-16" ?>
<SimpleReport xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Title>[quote]"[/quote] [apo]'[/apo] [smaller]<[/smaller] [bigger]>[/bigger] [and]&[/and]</Title>
</SimpleReport>
И заголовок [/ quote] [apo] '[/ apo] [меньше] <[/ меньше] [больше]> [/ больше] [и] & [/ и].
Как мне сообщить сериализатору, что у меня также есть закодированные кавычки и апострофы?
PS: Я знаю, что вам обычно не нужно кодировать эти символы, но это требование клиента.
Попытки: