Rag*_*ler 28 c# xml serialization xml-serialization
我有一个XML,我想加载到对象,操纵这些对象(设置值,读取值),然后保存这些XML.对我来说,在我创建的结构(xsd)中使用XML非常重要.
一种方法是编写我自己的序列化程序,但它是否内置支持它或C#中的开源我可以使用?
cka*_*ras 28
您可以使用xsd.exe从架构(xsd)生成可序列化的C#类:
xsd.exe dependency1.xsd dependency2.xsd schema.xsd /out:outputDir
Run Code Online (Sandbox Code Playgroud)
如果架构具有依赖关系(包含/导入的架构),则它们必须全部包含在同一命令行中.
小智 18
此代码(C#DotNet 1.0以后)可以很好地将大多数对象序列化为XML.(和返回)它不适用于包含ArrayLists的对象,如果可能的话,只能使用Arrays
using System;
using System.IO;
using System.Text;
using System.Xml.Serialization;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
public static string Serialize(object objectToSerialize)
{
MemoryStream mem = new MemoryStream();
XmlSerializer ser = new XmlSerializer(objectToSerialize.GetType());
ser.Serialize(mem, objectToSerialize);
ASCIIEncoding ascii = new ASCIIEncoding();
return ascii.GetString(mem.ToArray());
}
public static object Deserialize(Type typeToDeserialize, string xmlString)
{
byte[] bytes = Encoding.UTF8.GetBytes(xmlString);
MemoryStream mem = new MemoryStream(bytes);
XmlSerializer ser = new XmlSerializer(typeToDeserialize);
return ser.Deserialize(mem);
}
Run Code Online (Sandbox Code Playgroud)
如果您使用.net 3.5,LINQ to XML非常强大,LINQ to XSD也可能对您有用!
| 归档时间: |
|
| 查看次数: |
65788 次 |
| 最近记录: |