tem*_*elm 13 c# wcf xml-serialization datacontract deserialization
我正在开发一个WCF服务,它将由多个不同的客户端应用程序使用.为了使一个功能起作用,服务器需要将XML文件读入C#DataContract,然后将其传递给相关的客户端.据我所知,从MSDN网站,这是可能的,但我找不到任何完整的例子.特别是,该网站谈到了一个"流"参数,我还没有完成.
我的数据协定有一个属性字段,它是另一个具有多个简单属性字段的数据协定的列表.
例如
[DataContract]
public class MyClass1 {
[DataMember]
public string name;
[DataMember]
public int age;
}
[DataContract]
public class MyClass2 {
[DataMember]
public List<MyClass1> myClass1List;
}
Run Code Online (Sandbox Code Playgroud)
我的课看起来像这样.
Ven*_*kov 15
这是一个例子
MyClass1 obj = new MyClass1();
DataContractSerializer dcs = new DataContractSerializer(typeof(MyClass1));
using (Stream stream = new FileStream(@"C:\tmp\file.xml", FileMode.Create, FileAccess.Write))
{
using (XmlDictionaryWriter writer =
XmlDictionaryWriter.CreateTextWriter(stream, Encoding.UTF8))
{
writer.WriteStartDocument();
dcs.WriteObject(writer, obj);
}
}
Run Code Online (Sandbox Code Playgroud)
Books b = new Books();
DataContractSerializer dcs = new DataContractSerializer(typeof(Books));
try
{
Stream fs = new FileStream(@"C:\Users\temelm\Desktop\XmlFile.xml", FileMode.Create, FileAccess.Write);
XmlDictionaryWriter xdw = XmlDictionaryWriter.CreateTextWriter(fs, Encoding.UTF8);
xdw.WriteStartDocument();
dcs.WriteObject(xdw, b);
xdw.Close();
fs.Flush();
fs.Close();
}
catch (Exception e)
{
s += e.Message + "\n";
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
41522 次 |
| 最近记录: |