Как Предотвратить преобразование и к & использование XmlTextWriter?

'&' в тексте оставляют и преобразовывают в & при создании использования XML-файла XmlTextWriter, но я не хочу, чтобы преобразование произошло, как предотвратить его?

Есть ли какой-либо другой путь помимо использования WriteRaw func xmltextwriter?

5
задан Brian Agnew 1 February 2010 в 13:15
поделиться

3 ответа

Если вы поместите беззаботный амперсанд в XML, это больше не действительна XML.

Ваши два варианта либо избежают его (которые делают ваша библиотека):

<tag>One &amp; another</tag>

или оберните его в CDATA:

<tag><![CDATA[One & another]]></tag>

, которые можно сделать с помощью:

xmlWriter.WriteCData("One & another");
9
ответ дан 14 December 2019 в 01:07
поделиться

Почему вы не хотите, чтобы это произошло? Похоже, что библиотека обеспечивает правильный символ, выходящий по требованию XML.

0
ответ дан 14 December 2019 в 01:07
поделиться

Я не уверен, что это сработает, но вам, возможно, захочется сдать на хранение в свойствах StartWriterSettings, доступных через xmltextwriter. Параметры настройки, в частности, свойство StartCharacters.

С другой стороны, как упомянул Брайан Агнью, не кодирование & to & может быть неправильным способом, так как это аннулирует ваш XML (если вы уже не закодировали его & в этом случае вы можете просто декодировать его, прежде чем передать его классу xmltextwriter.

0
ответ дан 14 December 2019 в 01:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: