Предотвратить побег символа при вызове XmlWriter.WriteElementString - PullRequest
3 голосов
/ 25 марта 2010

У меня есть строка:

<entry key="Provider">Comcast Cable Communications, Inc.</entry>
<entry key="Challenged">No</entry>

Я хочу вывести эту строку, используя XmlWriter.WriteElementString(). Проблема в том, что XmlWriter.WriteElementString() будет экранировать все символы < и > с &lt; и &gt;. Я проверил MSDN, чтобы увидеть, есть ли способ отключить это, но не нашел ответа.

Есть ли способ отключить происходящее авто-экранирование?

Ответы [ 3 ]

9 голосов
/ 25 марта 2010

Использование метода XmlWriter.WriteRaw () для вывода текста решило мою проблему.

0 голосов
/ 25 марта 2010

Это тот самый XML, который вы пытаетесь написать? (не литерал внутри XML)?

Попробуйте это:


xmlWriter.WriteStartElement("entry");
xmlWriter.WriteAttributeString("key", "Provider");
xmlWriter.WriteValue("Comcast Cable Communications, Inc.")
xmlWriter.WriteEndElement()

0 голосов
/ 25 марта 2010

Можете ли вы показать XML, который вы хотели бы иметь? Вы пытаетесь написать XML внутри XML? Примерно так:

<outer>
    <entry key="Provider">Comcast Cable Communications, Inc.</entry>
    <entry key="Challenged">No</entry>
</outer>

В этом случае вы не хотите использовать WriteElementString. Используйте одну из перегрузок XmlWriter.WriteNode .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...