src/Library/NetPro.Utility/Helpers/XmlHelper.cs
(开头部分) 4KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System.IO;
using System.Text;
using System.Xml;
using System.Xml.Serialization;
namespace System.NetPro
{
/// <summary>
/// Xml序列化与反序列化
/// </summary>
public class XmlHelper
{
private static readonly object LockSerialize = new object();
/// <summary>
/// 将自定义对象序列化为XML字符串
/// </summary>
/// <param name="myClass">自定义对象实体</param>
/// <returns>序列化后的XML字符串</returns>
public static string SerializeToXml(object myClass)
{
if (myClass != null)
{
XmlSerializer xs = new XmlSerializer(myClass.GetType());
MemoryStream stream = new MemoryStream();
XmlTextWriter writer = new XmlTextWriter(stream, Encoding.UTF8);
writer.Formatting = Formatting.None;//缩进
xs.Serialize(writer, myClass);
stream.Position = 0;
StringBuilder sb = new StringBuilder();
using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
{
string line;
while ((line = reader.ReadLine()) != null)
{
sb.Append(line);
}
reader.Close();
}
writer.Close();
return sb.ToString();
}
return string.Empty;
}
public static void XmlSerializer(object o, string path)
{
lock (LockSerialize)
{
if (!Directory.Exists(Path.GetDirectoryName(path)))
{
Directory.CreateDirectory(Path.GetDirectoryName(path) ?? throw new InvalidOperationException());
}
var stream = new FileStream(path, FileMode.Create);
XmlSerializer t = new XmlSerializer(o.GetType(), "");
t.Serialize(stream, o);
stream.Close();
后面还有 90 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。