这个是和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序列化成对象的更多相关文章

  1. form表单元素的值序列化成对象

    /** * 将form表单元素的值序列化成对象 * param: form jquery form对象 */ var serializeObject = function(form) { var o ...

  2. 将form表单元素的值序列化成对象

    /**jQuery * 将form表单元素的值序列化成对象 * @returns object */ var serializeObject = function(form) { var o = {} ...

  3. XML 反序列化成对象,绑定到CheckBoxList控件

    1.前台 <div class="control-group"> <label class="control-label"> 导航名称: ...

  4. jquery easyui将form表单元素的值序列化成对象

    function serializeObject(form){ var o={}; $.each(form.serializeArray(),function(index){ if(o[this['n ...

  5. C# .NET XML 序列化为对象,反序列化

    如果遇到:   根级别上的数据无效. 行 1,位置 1   .:即无法反序列化(反序列失败),得到对象为null ,把 xml 文本 Trim一下. xml=xml.Trim(); 序列化完毕你可以看 ...

  6. C#对象序列化成XML,以及自定义标签名

    C#对象序列化操作: public class XMLHelper { /// <summary> /// 对象序列化成 XML String /// </summary> p ...

  7. 将Java对象序列化成JSON和XML格式

    1.先定义一个Java对象Person: public class Person { String name; int age; int number; public String getName() ...

  8. C#将对象序列化成JSON字符串

    C#将对象序列化成JSON字符串 public string GetJsonString() { List<Product> products = new List<Product& ...

  9. IOS开发之把 Array 和 Dictionaries 序列化成 JSON 对象

    1 前言通过 NSJSONSerialization 这个类的 dataWithJSONObject:options:error:方法来实现,Array 和 dictionary 序列化成 JSON ...

随机推荐

  1. 【原创】【Android New Features】—— 关于ADT 17的BuildConfig.DEBUG

          在日常开发中,我们使用android.util.Log来打印日志,方便我们的开发调试.但是在打包发布时,需要手工把Log关闭,多少会有些不便,而且不排除打包者忘记关闭Log的情况.那么有没 ...

  2. servlet实现文件下载

     之前没怎么用过这个,这次项目中用到了,于是总结一下: 应该说主要注意三方面: 1.写一个servlet 2.在web.xml中配置这个servlet 3.页面上调用这个servlet   第一: 写 ...

  3. 分析函数(Analytic Functions)

    在OLAP这类系统或者DW这类数据库中,作为某份报表的数据源,我们常常需要在某个存储过程中编写复杂的运算代码来汇总数据.分析函数便具备这样的能力,引用多行的数据值来进行多层面的聚合运算,在数据子集中进 ...

  4. NDK(8)"Unknown Application ABI"的解决方案

    ndk 调试本地应用时 报错如下 : console信息: [2015-08-17 19:52:05 - NdkSample] Unknown Application ABI: [2015-08-17 ...

  5. 【温故知新】c#异步编程模型(APM)--使用委托进行异步编程

    当我们用到C#类许多耗时的函数XXX时,总会存在同名的类似BeginXXX,EndXXX这样的函数. 例如Stream抽象类的Read函数就有 public abstract int Read(byt ...

  6. design pattern及其使用

    什么是设计模式? design pattern是一个通用的,可以被重用的关于一个常见的问题的解决方案. 为什么要用设计模式? 引入设计模式的理论基础非常简单.我们每天都会碰到问题.我们可能碰到决定使用 ...

  7. HDU 4023 (博弈 贪心 模拟) Game

    如果硬要说这算是博弈题目的话,那这个博弈是不公平博弈(partizan games),因为双方面对同一个局面做出来的决策是不一样的. 我们平时做的博弈都是公平博弈(impartial games),所 ...

  8. HDU 1950 Bridging signals

    那么一大篇的题目描述还真是吓人. 仔细一读其实就是一个LIS,还无任何变形. 刚刚学会了个二分优化的DP,1A无压力. //#define LOCAL #include <iostream> ...

  9. Jquery源码中的Javascript基础知识(四)— jQuery.fn.init方法

    $() 即调用了jQuery.fn.init方法 jQuery = function( selector, context ) { return new jQuery.fn.init( selecto ...

  10. python练习程序(c100经典例15)

    题目: 利用条件运算符的嵌套来完成此题:学习成绩〉=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示. def foo(n): if n>=90: print 'A' , ...