这个是和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. 281. Zigzag Iterator

    题目: Given two 1d vectors, implement an iterator to return their elements alternately. For example, g ...

  2. CentOS 7快速搭建Nodejs开发环境

    Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好.学习Nodejs首先需要会安装环境.这里我介绍如 ...

  3. git - 简易指南

    http://www.bootcss.com/p/git-guide/ git - 简易指南

  4. ACM数据结构相关资料整理【未完成,待补充】

    在网上总是查不到很系统的练ACM需要学习的数据结构资料,于是参考看过的东西,自己整理了一份. 能力有限,欢迎大家指正补充. 分类主要参考<算法竞赛入门经典训练指南>(刘汝佳),山东大学数据 ...

  5. 锁定方式SDE中插入要素

    [C#] public static void LoadOnlyModeInsert(IFeatureClass featureClass, List < IGeometry > geom ...

  6. Zend13.0 +XAMPP3.2.2 调试配置

    Zend 调试PHP有3种方式: (1)PHP CLI APPLICATION (2)PHP Web Application (3)PHP UnitTest (1).(2)两种方式配置相似,下图是配置 ...

  7. 15.导入网表及status介绍[原创]

    一.导入网表 在导入网表之前你的封装需确认是在你的封装路径下 建立Board工程后: ① ② ③ ④放置器件 ⑤ (切记,封装路径一定要添加) 二.status介绍 --- (常用) -------- ...

  8. 《OD学hadoop》第一周0625 LINUX作业一:Linux系统基本命令(一)

    1. 1) vim /etc/udev/rules.d/-persistent-net.rules vi /etc/sysconfig/network-scripts/ifcfg-eth0 TYPE= ...

  9. 部署新浪SAE web.py Session及图片上传等问题注意事项

    1.以下几条代码解决编码问题 import sysreload(sys)sys.setdefaultencoding('utf-8') 2.图片上传问题 需要开通sina的Storage服务,随便建个 ...

  10. QDialog之屏蔽Esc键

    简述 Qt中Esc键会在一些控件中默认的进行一些事件的触发,比如:QDialog,按下Esc键窗口消失.大多数情况下,我们不需要这么做,那么就需要对默认事件进行屏蔽. 简述 源码分析 事件过滤器 事件 ...