XML序列化成对象
这个是和ALM上传测试结果结合使用的
//把xml序列化成对象以及把对象序列化成xml using System;
using System.Data;
using System.Configuration;
using System.Web; using System.IO;
using System.Text;
using System.Xml.Serialization;
using System.Xml;
namespace XMLUtils
{ /// <summary>
/// Summary description for XMLUtils
/// </summary>
public class XMLUtils
{
public XMLUtils()
{
} public static String SerializedToXML(Type ObjectType_, object ObjectInstance_)
{
return SerializedToXMLStringBuilder(ObjectType_, ObjectInstance_).ToString();
} public static StringBuilder SerializedToXMLStringBuilder(Type ObjectType_, object ObjectInstance_)
{
StringBuilder sbXML = new StringBuilder();
XmlSerializer xs = new XmlSerializer(ObjectType_);
xs.Serialize(new StringWriter(sbXML), ObjectInstance_); return sbXML;
} public static object Deserialized(Type ObjectType_, string SerializedText_)
{
XmlSerializer xs = new XmlSerializer(ObjectType_);
object oDeserialized = xs.Deserialize(new StringReader(SerializedText_)); return oDeserialized;
} /// <summary>
/// Serialize the object to stringbuilder.
/// </summary>
/// <param name="obj"></param>
/// <param name="targetNamespace"></param>
/// <returns></returns>
public static StringBuilder SerializeObject(object obj, string targetNamespace)
{
System.Xml.Serialization.XmlSerializer ser;
XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
if (string.IsNullOrEmpty(targetNamespace))
{
ns.Add(string.Empty, string.Empty);
}
else
{
ns.Add("ns", targetNamespace);
} ser = new System.Xml.Serialization.XmlSerializer(obj.GetType());
StringBuilder objectAsString = new StringBuilder();
StringWriter stringWriter = new StringWriter(objectAsString);
XmlTextWriter writer = new XmlTextWriter(stringWriter);
writer.Formatting = Formatting.None;
ser.Serialize(writer, obj, ns);
return objectAsString;
} /// <summary>
/// Deserialize the stringbuilder to object.
/// </summary>
/// <param name="objectType"></param>
/// <param name="serializedXML"></param>
/// <returns></returns>
public static object DeserializeXML(Type objectType, StringBuilder serializedXML)
{
System.IO.StringReader reader = new System.IO.StringReader(serializedXML.ToString());
object deserializedObject = null;
try
{
XmlSerializer xs = new XmlSerializer(objectType);
System.Xml.XmlReader xr = System.Xml.XmlReader.Create(reader);
deserializedObject = xs.Deserialize(xr); }
catch (Exception) { }
finally
{
if (reader != null)
{
reader.Dispose();
}
}
return deserializedObject;
}
}
}
XML序列化成对象的更多相关文章
- form表单元素的值序列化成对象
/** * 将form表单元素的值序列化成对象 * param: form jquery form对象 */ var serializeObject = function(form) { var o ...
- 将form表单元素的值序列化成对象
/**jQuery * 将form表单元素的值序列化成对象 * @returns object */ var serializeObject = function(form) { var o = {} ...
- XML 反序列化成对象,绑定到CheckBoxList控件
1.前台 <div class="control-group"> <label class="control-label"> 导航名称: ...
- jquery easyui将form表单元素的值序列化成对象
function serializeObject(form){ var o={}; $.each(form.serializeArray(),function(index){ if(o[this['n ...
- C# .NET XML 序列化为对象,反序列化
如果遇到: 根级别上的数据无效. 行 1,位置 1 .:即无法反序列化(反序列失败),得到对象为null ,把 xml 文本 Trim一下. xml=xml.Trim(); 序列化完毕你可以看 ...
- C#对象序列化成XML,以及自定义标签名
C#对象序列化操作: public class XMLHelper { /// <summary> /// 对象序列化成 XML String /// </summary> p ...
- 将Java对象序列化成JSON和XML格式
1.先定义一个Java对象Person: public class Person { String name; int age; int number; public String getName() ...
- C#将对象序列化成JSON字符串
C#将对象序列化成JSON字符串 public string GetJsonString() { List<Product> products = new List<Product& ...
- IOS开发之把 Array 和 Dictionaries 序列化成 JSON 对象
1 前言通过 NSJSONSerialization 这个类的 dataWithJSONObject:options:error:方法来实现,Array 和 dictionary 序列化成 JSON ...
随机推荐
- 【原创】【Android New Features】—— 关于ADT 17的BuildConfig.DEBUG
在日常开发中,我们使用android.util.Log来打印日志,方便我们的开发调试.但是在打包发布时,需要手工把Log关闭,多少会有些不便,而且不排除打包者忘记关闭Log的情况.那么有没 ...
- servlet实现文件下载
之前没怎么用过这个,这次项目中用到了,于是总结一下: 应该说主要注意三方面: 1.写一个servlet 2.在web.xml中配置这个servlet 3.页面上调用这个servlet 第一: 写 ...
- 分析函数(Analytic Functions)
在OLAP这类系统或者DW这类数据库中,作为某份报表的数据源,我们常常需要在某个存储过程中编写复杂的运算代码来汇总数据.分析函数便具备这样的能力,引用多行的数据值来进行多层面的聚合运算,在数据子集中进 ...
- NDK(8)"Unknown Application ABI"的解决方案
ndk 调试本地应用时 报错如下 : console信息: [2015-08-17 19:52:05 - NdkSample] Unknown Application ABI: [2015-08-17 ...
- 【温故知新】c#异步编程模型(APM)--使用委托进行异步编程
当我们用到C#类许多耗时的函数XXX时,总会存在同名的类似BeginXXX,EndXXX这样的函数. 例如Stream抽象类的Read函数就有 public abstract int Read(byt ...
- design pattern及其使用
什么是设计模式? design pattern是一个通用的,可以被重用的关于一个常见的问题的解决方案. 为什么要用设计模式? 引入设计模式的理论基础非常简单.我们每天都会碰到问题.我们可能碰到决定使用 ...
- HDU 4023 (博弈 贪心 模拟) Game
如果硬要说这算是博弈题目的话,那这个博弈是不公平博弈(partizan games),因为双方面对同一个局面做出来的决策是不一样的. 我们平时做的博弈都是公平博弈(impartial games),所 ...
- HDU 1950 Bridging signals
那么一大篇的题目描述还真是吓人. 仔细一读其实就是一个LIS,还无任何变形. 刚刚学会了个二分优化的DP,1A无压力. //#define LOCAL #include <iostream> ...
- Jquery源码中的Javascript基础知识(四)— jQuery.fn.init方法
$() 即调用了jQuery.fn.init方法 jQuery = function( selector, context ) { return new jQuery.fn.init( selecto ...
- python练习程序(c100经典例15)
题目: 利用条件运算符的嵌套来完成此题:学习成绩〉=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示. def foo(n): if n>=90: print 'A' , ...