C# 创建动态xml提要会自动对一些标记进行编码
我正在使用下面的代码动态创建xml文件C# 创建动态xml提要会自动对一些标记进行编码,c#,asp.net,xml,C#,Asp.net,Xml,我正在使用下面的代码动态创建xml文件 var xrFeed = new XmlTextWriter(Response.OutputStream, Encoding.UTF8); xrFeed.WriteStartDocument(); xrFeed.WriteStartElement("ads"); foreach (var i in items) { xrFeed.WriteStartElement("ad"); xrFeed.WriteElementString("id
var xrFeed = new XmlTextWriter(Response.OutputStream, Encoding.UTF8);
xrFeed.WriteStartDocument();
xrFeed.WriteStartElement("ads");
foreach (var i in items)
{
xrFeed.WriteStartElement("ad");
xrFeed.WriteElementString("id", "<![CDATA[" + i.AdId+ "]]>");
xrFeed.WriteEndElement();
}
xrFeed.WriteEndElement();
xrFeed.WriteEndDocument();
xrFeed.Flush();
xrFeed.Close();
Response.End();
DataBind();
var xrFeed=newXMLTextWriter(Response.OutputStream,Encoding.UTF8);
xrFeed.WriteStartDocument();
xrFeed.WriteStartElement(“ads”);
foreach(项目中的var i)
{
xrFeed.WriteStartElement(“ad”);
WriteElementString(“id”,”);
xrFeed.WriteEndElement();
}
xrFeed.WriteEndElement();
xrFeed.WriteEndDocument();
xrFeed.Flush();
xrFeed.Close();
Response.End();
数据绑定();
作为输出,我得到
<?xml version="1.0" encoding="utf-8"?>
<ads>
<ad>
<id><![CDATA[12345]]></id>
</ad>
</ads>
![CDATA[12345]]
但是我不需要对<?xml version="1.0" encoding="utf-8"?>
<ads>
<ad>
<id><![CDATA[12345]]></id>
</ad>
</ads>
而不是:
xrFeed.WriteElementString("id", "<![CDATA[" + i.AdId+ "]]>");
正如您所发现的那样,XmlTextWriter
将对任何特殊字符进行编码。更改
< ![CDATA[" + i.AdId+ "]] >
只需删除间距。。。介于<或> 这将输出
&;书信电报;![CDATA[12345]&;燃气轮机代码>
< ![CDATA[" + i.AdId+ "]] >
& lt;![CDATA[12345]]& gt;