使用xElement将C#字符串的特殊字符(<,>,&)转换为XML

时间:2012-10-25 15:58:04

标签: c# xml special-characters

C#

noticia.Add(new XElement("Imagem", <BR>));

我需要:

<Imagem><BR></Imagem>

而不是:

<Imagem>&lt;BR&gt;</Imagem>

感谢所有

2 个答案:

答案 0 :(得分:5)

就这样做

noticia.Add(new XElement("Imagem", new XElement("BR")));

但是,这将为您提供额外的/,这是您需要的,或者它不是有效的XML。

<Imagem><BR/></Imagem>

其他选项是使用CDATA

noticia.Add(new XElement("Imagem", new XCData("<BR>")));

哪个会帮到你

<Imagem><![CDATA[<BR>]]></Imagem>

仅仅生成<Imagem><BR></Imagem>是不可能的,因为它不是有效的xml。

编辑:如果你有一个包含其他文字的字符串,在一个变量中,你唯一的选择是CDATA,就像这样

var OutClass = "xpto. <BR>";
noticia.Add(new XElement("Imagem", new XCData(OutClass)));

结果是

<Imagem><![CDATA[xpto. <BR>]]></Imagem>

答案 1 :(得分:0)

我真的使用类:

我从一个班级收到字符串:

string OutClass = "xpto. <BR>";

我在另一个班级使用XElement()