XmlWriter/XmlReader示例代码
时间:2022-04-23
本文章向大家介绍XmlWriter/XmlReader示例代码,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
在Silverlight项目中,如果您想最大程度的减少xap包的大小,仅使用默认System.Xml命名空间下提供的功能来实现“XML序列化/反序列化”,恐怕XmlReader/XmlWriter将成为唯一选择了,下面是示例代码:
using System.IO;
using System.Text;
using System.Xml;
namespace slLib
{
public class Person
{
private string _name = "";
/// <summary>
/// 姓名
/// </summary>
public string Name
{
get { return _name; }
set { _name = value; }
}
private int _age = 0;
/// <summary>
/// 年龄
/// </summary>
public int Age
{
get { return _age; }
set { _age = value; }
}
/// <summary>
/// 将Person实例转化为xml字符串
/// </summary>
/// <returns></returns>
public string ToXmlString()
{
MemoryStream ms = new MemoryStream();
XmlWriter writer = XmlWriter.Create(ms);
writer.WriteStartDocument();
writer.WriteStartElement("data");
writer.WriteStartElement("person");
writer.WriteStartElement("name");
writer.WriteAttributeString("type", "String");
writer.WriteValue(this.Name);
writer.WriteEndElement();
writer.WriteStartElement("age");
writer.WriteAttributeString("type", "Int32");
writer.WriteValue(this.Age);
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteEndDocument();
writer.Flush();
writer.Close();
byte[] bytes = ms.ToArray();
string result = Encoding.UTF8.GetString(bytes, 0, bytes.Length);
return result;
}
/// <summary>
/// 从xml字符串给Person实例属性赋值
/// </summary>
/// <param name="xmlString"></param>
public void FromXmlString(string xmlString)
{
MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(xmlString));
XmlReader reader = XmlReader.Create(ms);
reader.Read();
reader.ReadStartElement("data");
reader.ReadStartElement("person");
string nameType = reader.GetAttribute("type");
string nameValue = reader.ReadElementContentAsString();
string ageType = reader.GetAttribute("type");
int ageValue = reader.ReadElementContentAsInt();
reader.ReadEndElement();
reader.ReadEndElement();
reader.Close();
this._name = nameValue;
this._age = ageValue;
}
}
}
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- PHP中file_get_contents的使用方法
- PHP中的 fastcgi_finish_request();
- PHP超实用的函数总结整理
- R语言使用Rasch模型分析学生答题能力
- PHP中的const
- Python贝叶斯回归分析住房负担能力数据集
- PHP异常处理
- np.argsort函数
- PHP中this,self,parent的区别
- R语言基于协方差的SEM结构方程模型中的拟合指数
- Stata中的治疗效果:RA:回归调整、 IPW:逆概率加权、 IPWRA、 AIPW
- R语言在不同样本量下的Littles MCAR检验
- PHP10段常用功能代码
- MySQL中group_concat()函数用法总结
- [::-1] 数组中元素反向