111,119
社区成员
发帖
与我相关
我的任务
分享
public void SeriToXml<T>(string xmlFileName, XName nodeName, IEnumerable<T> xmlData) where T : class
{
var xml = new System.Xml.XmlDocument();
System.Xml.XmlNode node = null;
try
{
xml.Load(xmlFileName);
node = xml.SelectSingleNode(nodeName); //如果有多个相同节点自己处理一下
}
catch
{
throw;
}
using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
{
using (System.Xml.XmlTextWriter xtw = new System.Xml.XmlTextWriter(ms, System.Text.Encoding.UTF8))
{
System.Xml.Serialization.XmlSerializer xs = new System.Xml.Serialization.XmlSerializer(typeof(IEnumerable<T>));
xs.Serialize(xtw, xmlData);
if (node != null)
node.InnerXml = xtw.ToString();
//或者node.AppendChild(xml.CreateNode(System.Xml.XmlNodeType.Element, "nodeName", typeof(T).Namespace));
xtw.Close();
}
}
}