易截截图软件、单文件、免安装、纯绿色、仅160KB

.NET对象的XML序列化和反序列化

 序列化的概念
序列化是指一个对象的实例可以被保存,保存成一个二进制串,当然,一旦被保存成二进制串,那么也可以保存成文本串了。
比如,一个计数器,数值为2,我们可以用字符串“2”表示。
如果有个对象,叫做connter,当前值为2,那么可以序列化成“2”,反向的,也可以从“2”得到值为2的计数器实例。
这样,关机时序列化它,开机时反序列化它,每次开机都是延续的。不会都是从头开始。
序列化概念的提出和实现,可以使我们的应用程序的设置信息保存和读取更加方便。
序列化有很多好处,比如,在一台机器上产生一个实例,初始化完毕,然后可以序列化,通过网络传送到另一台机器,然后反序列化,得到对象实例,之后再执行某些业务逻辑,得到结果,再序列化,返回第一台机器,第一台机器得到对象实例,得到结果。
这个例子是目前比较先进的“智能代理”的原理。
当前比较热火的web services使用soap协议,soap协议也是以对象的可序列化为基础的。
一 概述
.NET Framework为处理XML数据提供了许多不同的类库。XmlDocument类能让你像处理文件一样处理xml数据,而XmlReader、XmlWriter和它们的派生类使你能够将xml数据作为数据流处理。
XmlSerializer则提供了另外的方法,它使你能够将自己的对象串行化和反串行化为xml。串行化数据既能够让你像处理文件一样对数据进行随机处理,同时又能跳过你不感兴趣的数据。
二 主要类库介绍
   .NET 支持对象xml序列化和反序列化的类库主要位于命名空间System.Xml.Serialization中。
   1.  XmlSerializer 类
   该类用一种高度松散耦合的方式提供串行化服务。你的类不需要继承特别的基类,而且它们也不需要实现特别的接口。相反,你只需在你的类或者这些类的公共域以及读/写属性里加上自定义的特性。XmlSerializer通过反射机制读取这些特性并用它们将你的类和类成员映射到xml元素和属性。
   2. XmlAttributeAttribute 类
   指定类的公共域或读/写属性对应xml文件的Attribute。
   例:[XmlAttribute(“type”)] or [XmlAttribute(AttributeName=”type”)]
   3. XmlElementAttribute类
   指定类的公共域或读/写属性对应xml文件的Element。
   例:[XmlElement(“Maufacturer”)] or [XmlElement(Eleme


相关文档:

php获取xml属性值

<!-- xml格式
<foo xmlns="test">
<bar attr='a'></bar>
<bar attr='b'></bar>
<bar attr='c'></bar>
</foo>
-->
<?php
$dom = new DOMDocument();
if (!$dom->load('attr.xml'))
{
echo "load books.xml failed!<br>";
re ......

读取xml时 EntityName 时出错

public static Hashtable xml_unserialize(string strXml)
        {
//加上下面这句就好了
strXml = strXml.Replace("&", "&amp;");
Hashtable ht = new Hashtable();
XmlDocument XMLDom = new XmlDocument();
......

XML 架构介绍

XML 架构介绍:
XML 架构是用于定义和验证 XML 数据的内容和结构的文档,就像数据库架构定义和验证组成数据库的表、列和数据类型一样。
XML 架构通过 XML 架构定义 (XSD) 语言定义和描述某些 XML 数据类型。XML 架构元素(元素、属性、类型和组)用于定义某些 XML 数据类型的有效结构、有效数据内容和关系。XML 架构还可为 ......

将Java对象保存为XML文档

package com.kiloway.trace.utils;
import java.lang.reflect.Field;
/**
* @author Zhang Qi
* @Create Time 2010/01/09
* */
public class ObjectToXML {
public String toString(Object object) throws Exception {
StringBuilder sb = new StringBuilder();
//得到类的名称
String classname = obj ......

c#xml的增删改查


已知有一个XML文件(bookstore.xml)如下:  
  <?xml   version="1.0"   encoding="gb2312"?>  
  <bookstore>  
      <book   genre="fantasy"   ISBN="2-3631-4">  
       &n ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号