c# 序列化对象为xml 方法
public static string XmlUtils(object obj, bool omitXmlDeclaration = true, bool indent = false,
bool useNameSpace = false)
{
var sb = new StringBuilder();
using (var xw = XmlWriter.Create(sb, new XmlWriterSettings()
{
OmitXmlDeclaration = omitXmlDeclaration, //是否省略xml声明
ConformanceLevel = ConformanceLevel.Auto,
Indent = indent //生成的xml是否缩进
}))
{
if (useNameSpace)
{
var xs = new XmlSerializer(obj.GetType());
xs.Serialize(xw, obj);
}
else
{
XmlSerializerNamespaces namespaces = new XmlSerializerNamespaces();
namespaces.Add(string.Empty, string.Empty); //去除xml命名空间 var xs = new XmlSerializer(obj.GetType());
xs.Serialize(xw, obj, namespaces);
}
} //...:nil=\"true\"表示该值为空
return sb.ToString();
}
也可以做成扩展方法
public static string XmlUtils(this T obj, bool omitXmlDeclaration = true, bool indent = false,
bool useNameSpace = false)
{
var sb = new StringBuilder();
using (var xw = XmlWriter.Create(sb, new XmlWriterSettings()
{
OmitXmlDeclaration = omitXmlDeclaration, //是否省略xml声明
ConformanceLevel = ConformanceLevel.Auto,
Indent = indent //生成的xml是否缩进
}))
{
if (useNameSpace)
{
var xs = new XmlSerializer(obj.GetType());
xs.Serialize(xw, obj);
}
else
{
XmlSerializerNamespaces namespaces = new XmlSerializerNamespaces();
namespaces.Add(string.Empty, string.Empty); //去除xml命名空间 var xs = new XmlSerializer(obj.GetType());
xs.Serialize(xw, obj, namespaces);
}
} //...:nil=\"true\"表示该值为空
return sb.ToString();
}
c# 序列化对象为xml 方法的更多相关文章
- Android中序列化对象到XMl 和 XML反序列化为对象
package com.example.xmloperation; import java.io.File; import java.io.FileOutputStream; import java. ...
- 序列化对象为xml字符串
/// <summary> /// 序列化对象为xml字符串 /// </summary> /// <param name="obj" ...
- c#xml序列化对象,xml标记都缩写了
最近最后一个接口,他们的格式很严格必须是如下格式 <message> <age>20</age> <name>张三</name> </ ...
- 获取任意可序列化对象的Xml字符串,方便在日志中查看任一所感兴趣的对象。
代码: public static string GetLoggingString(this object obj) { using (var stream = new MemoryStream()) ...
- C# 调用Webservice并传递序列化对象
原文:C# 调用Webservice并传递序列化对象 C#动态调用WebService注意要点 1.动态调用的url后面注意一定要加上?WSDL 例如:string _url = "ht ...
- C# 使用XML序列化对象(二)
在C# 使用XML序列化对象(一)中描述了使用XML序列化对象的最简单的实现. 现在我们来看看稍微复杂一点的情况: 现有两个类:A和B,B是A的派生类,如下所示: public class A { p ...
- 在.net中序列化读写xml方法的总结
在.net中序列化读写xml方法的总结 阅读目录 开始 最简单的使用XML的方法 类型定义与XML结构的映射 使用 XmlElement 使用 XmlAttribute 使用 InnerText 重命 ...
- C#_在.net中序列化读写xml方法的总结
阅读目录 开始 最简单的使用XML的方法 类型定义与XML结构的映射 使用 XmlElement 使用 XmlAttribute 使用 InnerText 重命名节点名称 列表和数组的序列化 列表和数 ...
- (转)在.net中序列化读写xml方法的总结
阅读目录 开始 最简单的使用XML的方法 类型定义与XML结构的映射 使用 XmlElement 使用 XmlAttribute 使用 InnerText 重命名节点名称 列表和数组的序列化 列表和数 ...
随机推荐
- nowcoder N约数个数
n的约数个数 题目:t次询问,每次给你一个数n,求在[1,n]内约数个数最多的数的约数个数 数据:对于100%的数据,t <= 500 , 1 <= n <= 10000000000 ...
- 标准C++中string类的用法总结
相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用.但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯 ...
- [原]sencha touch之表单(login demo)
现在来说说sencha touch中的表单,举个简单的login的例子,相关的说明我都放在了注释中,看下面代码 Ext.application({ id:'itKingApp', launch:fun ...
- install golang plugin in webstrom
https://github.com/go-lang-plugin-org/go-lang-idea-plugin/wiki/Documentation
- Collection record
复习大集合: 1.函数的参数:位置参数,关键字参数,动态参数 2.命名空间:内置命名空间,全局命名空间,局部命名空间 3.闭包函数:函数引用未定义的函数外非全局的变量叫做闭包,该函数称为闭包函数 4. ...
- 转:vc与界面开发之间的文章
[很好的一篇文章,很喜欢看同行的心路历程:http://www.vckbase.com/index.php/nv/444.html] 本屌丝在新春放假期间闲来无事,在各大编程论坛溜达了一圈.发现年前的 ...
- Python+Selenium练习篇之9-清除文本方法
在前面的基础篇的最后一篇,我们用到了输入字符和点击按钮这样的操作.用send_keys()来输入字符串到文本输入框这样的页面元素,用click()来点击页面上支持点击的元素.有时候,我们需要清除一个文 ...
- 菜鸟之路——机器学习之非线性回归个人理解及python实现
关键词: 梯度下降:就是让数据顺着梯度最大的方向,也就是函数导数最大的放下下降,使其快速的接近结果. Cost函数等公式太长,不在这打了.网上多得是. 这个非线性回归说白了就是缩小版的神经网络. py ...
- springcloud 高可用分布式配置中心
SpringCloud教程七:高可用的分布式配置中心(SpringCloud Config) 当服务有很多 都要从服务中心获取配置时 这是可以将服务中心分布式处理 是系统具备在集群下的大数据处理 主要 ...
- SQL SERVER存储引擎——04.数据
4. SQL SERVER存储引擎之数据篇 (4.1)文件 (0)主数据文件.mdf初始文件大小至少为3MB,次要数据文件.ndf初始大小,同日志文件一样至少为512KB: (1)SQL SERVER ...