调用XmlWriter.WriteElementString时防止字符转义

时间:2010-03-25 18:45:58

标签: c# .net xml

我有一个字符串:

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

我想使用XmlWriter.WriteElementString()输出此字符串。这里的问题是XmlWriter.WriteElementString()将使用<>转义所有&lt;&gt;个字符。我已经检查了MSDN,看看是否有办法禁止这种情况发生,但还没有找到答案。

有没有办法禁用正在发生的自动转义?

3 个答案:

答案 0 :(得分:9)

使用XmlWriter.WriteRaw()方法输出文本解决了我的问题。

答案 1 :(得分:0)

你能展示你想拥有的XML吗?您是否尝试在XML中编写XML?像这样:

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

在这种情况下,您不想使用WriteElementString。使用XmlWriter.WriteNode的重载之一。

答案 2 :(得分:0)

这是您尝试编写的实际XML吗? (不是XML中的文字)?

试试这个:


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