使用textwwriter编写XML
本文关键字:XML 编写 textwwriter 使用 | 更新日期: 2023-09-27 18:14:31
我试过用Textwriter写XML,但是我发现我不能写字符<> ' " &到那个文件
我写的类如下:
public void Write_File(rss r, string fileName)//-- rss here is a class I built in other place
{
XmlSerializer serializer = new XmlSerializer(typeof(rss));
TextWriter textWriter = new StreamWriter(path + fileName);//-- path is directory path to save xml file
serializer.Serialize(textWriter, r);
textWriter.Close();
}
谁能帮我解决这个问题?
你就是不能。c#转换这样的字符:
< to <
> to >
& to &
如果允许,您可以销毁您的XML。如果需要添加标记,就不能简单地使用序列化器。您需要使用代码构建文档,例如XMLDocument类
只需在项目中包含System.Web
程序集,并利用HttpUtility
类对字符串进行如下编码:
public void Write_File(rss r, string fileName)//-- rss here is a class I built in other place
{
XmlSerializer serializer = new XmlSerializer(typeof(rss));
TextWriter textWriter = new StreamWriter(path + fileName);
serializer.Serialize(textWriter, HttpUtility.HtmlEncode(r));
textWriter.Close();
}
,我只能假设你已经覆盖了rss
的ToString
方法,在这里返回一个XML字符串,因为没有其他的方法你会得到一个字符串。