串行化XML

2024-01-15 04:48
文章标签 xml 串行化

本文主要是介绍串行化XML,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

XML的魅力
 
    串行化XML是指为了方便存储或传输,把一个对象的公共的域和属性保存为一种串行格式(这里是XML格式)的过程。非串行化则是使用串行的状态信息将对象从串行XML状态还原成原始状态的过程。因此,可以把串行化看作是将对象的状态保存到流或缓冲区中的一种方法。

串行化的目的是数据存储和数据转换。数据存储指的是在用户会话时保存数据。当应用程序关闭时,数据被保存(串行化),而当用户回来时,数据又被重新加载(非串行化)。数据转换指将数据变换成能被另一个系统识别的格式。使用串行化和XML,可以很方便的进行数据转换。

 

 

串行化过程生成标准的XML文件,数据成员转换为XML元素。不过,并非所有的数据成员都变成元素,可以通过在类代码中添加一些标记来控制输出的XML文件。这样,数据成员可以变换为XML属性而非元素,也可以简单的被忽略掉。

 

可以将附加的特性用于类和属性.你必须引用System.Xml.Serialization名字空间来用这些特性.

特性用途
[XmlIgnore]当公有的属性或字段不包括在串行化的XML结构中时。
[XmlRoot]用来识别作为XML文件根元素的类或结构。你可以用它来把一个元素名设置为根元素。
[XmlElement]当公有的属性或字段可以作为一个元素被串行化到XML结构中时。
[XmlAttribute]当公有的属性或字段可以作为一个特性被串行化到XML结构中时。
[XmlArray]当公有的属性或字段可以作为一个元素数组被串行化到XML结构中时。当一组对象用在一个类中时,这个特性很有用。
[XmlArrayItem]用来识别可以放到一个串行化数组中的类型

 

 再次提醒大家注意,只能串行化公共(public)类和公共(public)字段(fields)和性质(property).

 

串行化包含数组(Arrays)的数据

using System;
using System.Collections;
using System.Xml.Serialization;
 /// <summary>
 /// Summary description for Cars.
 /// </summary>
    [XmlRoot("carsCollection")]
    public class CarsArray {
        private Car[] _CarsList = null;

        public CarsArray() {}   
   
        public CarsArray(int size) {
            _CarsList = new Car[size];
        }

        [XmlArray("carsArray")]
        [XmlArrayItem("car")]
        public Car[] CarsCollection {
            get {
                return _CarsList;
            }
            set {
                _CarsList = value;
            }
        }

        public Car this[int index] {
            get {
                if (index <= _CarsList.GetUpperBound(0) || index > -1)
                    return (Car)_CarsList[index];
                else
                    throw new IndexOutOfRangeException("Invalid index value passed.");
            }
            set {
                if (index <= _CarsList.GetUpperBound(0) || index > -1)
                    _CarsList[index] = value;
                else
                    throw new IndexOutOfRangeException("Invalid index value passed.");

            }
        }

    }

结果为:

<?xml version="1.0" encoding="utf-16"?>
<carsCollection xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <carsArray>
    <car>
      <license>1234</license>
      <color>Black</color>
    </car>
    <car>
      <license>4321</license>
      <color>Blue</color>
    </car>
  </carsArray>
</carsCollection>

 

这篇关于串行化XML的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/607705

相关文章

SpringBoot中配置文件pom.xml的使用详解

《SpringBoot中配置文件pom.xml的使用详解》SpringBoot的pom.xml文件是Maven项目的核心配置文件,用于定义项目的依赖、插件、构建配置等信息,下面小编就来和大家详细介绍一... 目录1. 基本结构2. 关键部分详解2.1 <modelVersion>2.2 项目坐标2.3 <p

Java实现XML与JSON的互相转换详解

《Java实现XML与JSON的互相转换详解》这篇文章主要为大家详细介绍了如何使用Java实现XML与JSON的互相转换,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. XML转jsON1.1 代码目的1.2 代码实现2. JSON转XML3. JSON转XML并输出成指定的

Maven pom.xml文件中build,plugin标签的使用小结

《Mavenpom.xml文件中build,plugin标签的使用小结》本文主要介绍了Mavenpom.xml文件中build,plugin标签的使用小结,文中通过示例代码介绍的非常详细,对大家的学... 目录<build> 标签Plugins插件<build> 标签<build> 标签是 pom.XML

C#中读取XML文件的四种常用方法

《C#中读取XML文件的四种常用方法》Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具,下面我们就来看看C#中读取XML文件的方法都有哪些吧... 目录XML简介格式C#读取XML文件方法使用XmlDocument使用XmlTextReader/XmlTextWr

在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码

《在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码》在MyBatis的XML映射文件中,trim元素用于动态添加SQL语句的一部分,处理前缀、后缀及多余的逗号或连接符,示... 在MyBATis的XML映射文件中,<trim>元素用于动态地添加SQL语句的一部分,例如SET或W

Python xmltodict实现简化XML数据处理

《Pythonxmltodict实现简化XML数据处理》Python社区为提供了xmltodict库,它专为简化XML与Python数据结构的转换而设计,本文主要来为大家介绍一下如何使用xmltod... 目录一、引言二、XMLtodict介绍设计理念适用场景三、功能参数与属性1、parse函数2、unpa

关于Maven中pom.xml文件配置详解

《关于Maven中pom.xml文件配置详解》pom.xml是Maven项目的核心配置文件,它描述了项目的结构、依赖关系、构建配置等信息,通过合理配置pom.xml,可以提高项目的可维护性和构建效率... 目录1. POM文件的基本结构1.1 项目基本信息2. 项目属性2.1 引用属性3. 项目依赖4. 构

使用Python实现批量访问URL并解析XML响应功能

《使用Python实现批量访问URL并解析XML响应功能》在现代Web开发和数据抓取中,批量访问URL并解析响应内容是一个常见的需求,本文将详细介绍如何使用Python实现批量访问URL并解析XML响... 目录引言1. 背景与需求2. 工具方法实现2.1 单URL访问与解析代码实现代码说明2.2 示例调用

intellij idea generatorConfig.xml

generatorConfig.xml <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-ge

xml概论

以下内容摘录自W3School 一、XML的特性 xml是用来传输和存储数据的,本身对数据没有任何操作。在这里要区别一下html,html是用来显示数据的。xml的焦点是数据内容,html的焦点是数据外观。 下面是xml的定义: •XML 指可扩展标记语言(EXtensible Markup Language) •XML 是一种标记语言,很类似 HTML