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

在.net 当中如何XML序列化一个Collection

Collection主要是指像Array, ArrayList, List, Dictionary, HashTable这些数据类型,大家平时用的很多。如果一个类中有一个Collection类型的成员,在对这个类进行XML序列化的时候,应该如何处理?应该说在.net当中这是比较简单的,只要建立一个XmlSerializer类就可以帮你自动搞定,不过有的时候你可能需要对自动的序列化过程施加更多的控制,比如XML的结构是实现固定的,你必须按照要求去生成XML结构。
使用不同的属性可以灵活的控制生成的XML,这里我就不多介绍了,主要讲一下如何序列化比较复杂的Collection结构。下面的方法,对于所有实现了IEnumerable接口的Collection都有效。
我使用MSDN中的例子,不过没有使用数组或者ArrayList,而是使用了比较高级的数据类型List<T>,希望在讲解如何序列化XML的同时给使用List<T>的同学提供点参考。
序列化一个List<T>
下面的代码示范了如何序列化一个List<T>,实际上和序列化其它类一样,把这个类扔给Serialize()函数即可。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;
using System.IO;

namespace SerializeCollection
{
class Program
{
static void Main(string[] args)
{
Program test = new Program();
test.SerializeDocument("e:\\books.xml");
}

public void SerializeDocument(string filename)
{
// Creates a new XmlSerializer.
XmlSerializer s =
new XmlSerializer(typeof(MyRootClass));

// Writing the file requires a StreamWriter.
TextWriter myWriter = new StreamWriter(filename);

// Creates an instance of the class to serialize.
MyRootClass myRootClass = new MyRootClass();

//create items
Item item1 = new Item();
// Sets the objects' properties.
item1.ItemName = "Widget1";
item1.ItemCode = "w1";
item1.ItemPrice = 231;
item1.ItemQuantity = 3;


相关文档:

.net 创建xml的两种方法


方法一:按照XML的结构一步一步的构建XML文档.
    通过.Net FrameWork SDK中的命名空间"System.Xml"中封装的各种类来实现的
方法二:直接定影XML文档,然后保存到文件。
        通过"XmlDocument"类中的"LoadXml"方法
.aspx前台代码:
<%@ Page Language="C# ......

Xml Schema

Standards
"DTD" was the first formalized standard, but is rarely used anymore.
"XDR" was an early attempt by Microsoft to provide a more comprehensive standard than DTD. This standard has pretty much been abandoned now in favor of XSD.
"XSD" is currently the de facto standard for describing XML d ......

过滤xml中的非法字符串


一般xml中如果含有&等字符,可以通过CDATA来过滤,但是含有一些不认识的特殊字符时候就会不起作用,下面是从别人那儿拿来的一个过滤方
法,过滤xml中的非法字符:
//XML标准规定的无效字节为:
/*
0×00 – 0×08
0×0b – 0×0c
0×0e – 0×1f
* ......

C++ XML解析之TinyXML篇

 标签:XML解析 TinyXML   [推送到技术圈]
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://panpan.blog.51cto.com/489034/104961
最近使用TinyXML进行C++ XML解析,感觉使用起来比较简单,很容易上手,本文给出一个使用TinyXML进行XML解 ......

XML的一些简单问题!

(第1章)
(P1~3)1.用自己的语言对SGML、HTML和XML作简单介绍和对比。
SGML  是一种采用标记来描述文档数据的通用语言,SGML定义了基本的语法好,同时也允许用户建立自己的元素标记。
HTML 采用了很小一部分SGML的标记,同时HTML采用的是固定标记也不需要包含DTD。
XML 同HTML一样,都是出自于SGML标准通用标记语 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号