Skip to content

Commit

Permalink
移植 XmlUtility
Browse files Browse the repository at this point in the history
  • Loading branch information
JeffreySu committed Jun 1, 2018
1 parent cd0aed8 commit 8284c0f
Show file tree
Hide file tree
Showing 4 changed files with 49 additions and 58 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,9 @@ EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Senparc.Weixin.Cache.Redis.Tests.vs2017", "..\..\src\Senparc.Weixin.Cache\Senparc.Weixin.Cache.Redis.Tests\Senparc.Weixin.Cache.Redis.Tests.vs2017.csproj", "{6CF93018-06A8-46D3-B1A2-CC95CD9EE9F1}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CO2NET", "CO2NET", "{AAB2D904-534F-4085-B06D-E8B3329824C7}"
ProjectSection(SolutionItems) = preProject
readme.txt = readme.txt
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Senparc.CO2NET", "..\..\..\Senparc.CO2NET\src\Senparc.CO2NET\Senparc.CO2NET.csproj", "{76170395-280C-4045-89EC-754889FFF748}"
EndProject
Expand Down
4 changes: 4 additions & 0 deletions Samples/Senparc.Weixin.MP.Sample.vs2017/readme.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
�����Ҫ�� Senparc.Weixin ��Ŀ�е��� CO2NET �Ĵ��룬���ԣ�
1���ڱ��ؿ�¡ CO2NET ��Դ���룺https://github.com/Senparc/Senparc.CO2NET
2���ڴ˴����� CO2NET Դ�����е���Ŀ��master ��֮�£� src/Senparc.CO2NET/Senparc.CO2NET.csproj
3���� Senparc.Weixin �� CO2NET �� nuget ����ж�أ���Ϊ���� Senparc.CO2NET ��Ŀ
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,12 @@
修改描述:v4.11.2 1、增加对小程序请求的判断方法 SideInWeixinMiniProgram()
2、添加 GetUserAgent() 方法
---- CO2NET ----
---- split from Senparc.Weixin/Utilities/BrowserUtility.cs ----
修改标识:Senparc - 20180531
修改描述:v0.1.0 移植 BrowserUtility
----------------------------------------------------------------*/


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,33 @@
----------------------------------------------------------------*/
#endregion Apache License Version 2.0

/*----------------------------------------------------------------
Copyright (C) 2018 Senparc
文件名:BrowserUtility.cs
文件功能描述:浏览器公共类
创建标识:Senparc - 20150419
修改标识:Senparc - 20161219
修改描述:v4.9.6 修改错别字:Browser->Browser
修改标识:Senparc - 20161219
修改描述:v4.11.2 修改SideInWeixinBrowser判断逻辑
修改标识:Senparc - 20180513
修改描述:v4.11.2 1、增加对小程序请求的判断方法 SideInWeixinMiniProgram()
2、添加 GetUserAgent() 方法
---- CO2NET ----
---- split from Senparc.Weixin/Utilities/BrowserUtility.cs ----
修改标识:Senparc - 20180531
修改描述:v0.1.0 移植 BrowserUtility
----------------------------------------------------------------*/

using System;
using System.IO;
using System.Xml;
Expand All @@ -37,36 +64,23 @@ public static class XmlUtility
/// <summary>
/// 反序列化
/// </summary>
/// <param name="type">类型</param>
/// <param name="xml">XML字符串</param>
/// <returns></returns>
[Obsolete("请使用 Senparc.CO2NET.Utilities.XmlUtility.Deserialize<T>(xml) 方法")]
public static object Deserialize<T>(string xml)
{
try
{
using (StringReader sr = new StringReader(xml))
{
XmlSerializer xmldes = new XmlSerializer(typeof(T));
return xmldes.Deserialize(sr);
}
}
catch (Exception e)
{

return null;
}
return CO2NET.XmlUtility.XmlUtility.Deserialize<T>(xml);
}

/// <summary>
/// 反序列化
/// </summary>
/// <param name="type"></param>
/// <param name="xml"></param>
/// <param name="stream"></param>
/// <returns></returns>
[Obsolete("请使用 Senparc.CO2NET.Utilities.XmlUtility.Deserialize<T>(stream) 方法")]
public static object Deserialize<T>(Stream stream)
{
XmlSerializer xmldes = new XmlSerializer(typeof(T));
return xmldes.Deserialize(stream);
return CO2NET.XmlUtility.XmlUtility.Deserialize<T>(stream);
}

#endregion
Expand All @@ -77,30 +91,12 @@ public static object Deserialize<T>(Stream stream)
/// 序列化
/// 说明:此方法序列化复杂类,如果没有声明XmlInclude等特性,可能会引发“使用 XmlInclude 或 SoapInclude 特性静态指定非已知的类型。”的错误。
/// </summary>
/// <param name="type">类型</param>
/// <param name="obj">对象</param>
/// <returns></returns>
[Obsolete("请使用 Senparc.CO2NET.Utilities.XmlUtility.Serializer<T>(obj) 方法")]
public static string Serializer<T>(T obj)
{
MemoryStream Stream = new MemoryStream();
XmlSerializer xml = new XmlSerializer(typeof(T));
try
{
//序列化对象
xml.Serialize(Stream, obj);
}
catch (InvalidOperationException)
{
throw;
}
Stream.Position = 0;
StreamReader sr = new StreamReader(Stream);
string str = sr.ReadToEnd();

sr.Dispose();
Stream.Dispose();

return str;
return CO2NET.XmlUtility.XmlUtility.Serializer<T>(obj);
}

#endregion
Expand All @@ -110,28 +106,10 @@ public static string Serializer<T>(T obj)
/// </summary>
/// <param name="stream"></param>
/// <returns></returns>
[Obsolete("请使用 Senparc.CO2NET.Utilities.XmlUtility.Convert(stream) 方法")]
public static XDocument Convert(Stream stream)
{
if (stream.CanSeek)
{
stream.Seek(0, SeekOrigin.Begin);//强制调整指针位置
}
using (XmlReader xr = XmlReader.Create(stream))
{
return XDocument.Load(xr);
}
//#if NET35 || NET40 || NET45
// using (XmlReader xr = XmlReader.Create(stream))
// {
// return XDocument.Load(xr);
// }
//#else
// using (var sr = new StreamReader(stream))
// {
// var xml = sr.ReadToEnd();
// return XDocument.Parse(xml);
// }
//#endif
return CO2NET.XmlUtility.XmlUtility.Convert(stream);
}

}
Expand Down

0 comments on commit 8284c0f

Please sign in to comment.