在文件头上建一个index,指向每个Serialized Object的起始位置。
解决方案 »
- 关于做手机网站的问题!
- 关于C#对象加锁的问题
- 结构体问题
- serialport读来电号码,两三次以后不响应
- 调用DLL实现与设备的通信问题
- datagridview排序以及获取单元格列索引
- 正则表达式替换数字问题
- 如何实现多个应用程序对文件的读写操作????高手们来帮忙啊。。。
- C#中自定义控件的旋转缩放问题,高手请进 100分,在线等!!!
- 如何在txt文档中,把所有“*******”就双引号里的内容进行修改
- 请教:把Xls转换成xml后节点查询问题
- 如果对方封了端口137/138/139,也就是不能通过\\ip的方式访问对方共享文件.这对我使用对方机子上的sqlserver(1433)没影响吧?
怎么建index,序列化时怎么按index来放,反的时候又怎么按index来读?
能否给出例子?
using System;
using System.IO;
using System.Xml.Serialization;
public class Book
{
public int BookId;
public string BookName;
public string Author;
public string ISBN;
public double values;
public string first;
public string last;
public string color;
public int pages;
public string shop; public Book()
{ }
}public class Object1
{
//public Book[] xmlBook;
public Book[] xmlBook;
//public Order[] order;
public string opID;
public string opdd;
public Object1()
{
}
public Object1(Book[] book,string opid)
{
xmlBook = book;
opID = opid;
}}public class App
{
public static void Main()
{
Serialize();
Console.WriteLine("按任意键反序列化...");
Console.ReadLine();
Deserialize();
//SoapSerialize();
} // 序列化
public static void Serialize()
{
Book[] mars = new Book[1000];
for(int i=0;i<3;i++)
{
Book mars1 = new Book();
mars1.BookId = i;
mars1.BookName = "wowowo";
mars1.Author ="matt";
mars1.ISBN = "123456";
mars1.values = 12.67;
mars1.first = "jonny";
mars1.last = "jonny.R";
mars1.color = "RED";
mars1.pages = 561;
mars1.shop = "ats"; mars[i] = mars1;
}
Object1 obj1 = new Object1(mars,"13");
XmlSerializer serializer = new XmlSerializer(typeof(Object1));
StreamWriter writer = new StreamWriter("d:\\book.xml"); serializer.Serialize(writer,obj1); writer.Close(); Console.Write("序列化类Book成功!");
} // 反序列化
public static void Deserialize()
{
XmlSerializer serializer = new XmlSerializer(typeof(Object1));
StreamReader reader = new StreamReader("d:\\book.xml"); Object1 unobj = new Object1();
unobj = (Object1)serializer.Deserialize(reader);
reader.Close(); Console.WriteLine("opID" + unobj.opID.ToString());
}
}