下面是我代码:
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Xml.Serialization;
namespace XmSerializerT
{
[Serializable]
public class ClassA
{
private string str_;
private int num_;
public ClassA()
{
}
public ClassA(string myStr, int myNum)
{
str_ = myStr;
num_ = myNum;
}
public string Str
{
get { return str_; }
}
public int Num
{
get { return num_; }
}
}
public class Program
{
static void Main(string[] args)
{
ClassA ca = new ClassA("Hello", 10);
XmlSerializer xSerial = new XmlSerializer(typeof(ClassA));
TextWriter write = new StreamWriter(@"D:\C#\Main\对象串行华\temp\po.xml");
xSerial.Serialize(write,ca);//为什么串行化不了值
}
}
}序列化ca但在po.xml文件中没有显示保存了他的属性:
生成的po.xml文件内容:<?xml version="1.0" encoding="utf-8"?>
<ClassA xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
因该怎么才能保存啊
谁指点下。。谢谢。
解决方案 »
- 求winform 获取execl里表格的图片批注 然后导入oracle
- c# combox简单问题
- 谁看过CLI specification
- 多個平臺寫的軟件,怎么寫一個安裝程序一次性安裝完畢???
- 请问关于加密密文的问题
- C#2005中继承DataGridViewTextBoxColumn后加入自定义属性问题?
- 在C#中如何根据已经定义好的xsd创建XML文件
- 界面语言转换
- 求助:System.Security.Permissions.SecurityPermission错误
- c#高手看过来,关于XML的。
- 从DataGridView中复制中文到Excel中乱码,如何解决?
- 如何绑定数据库的对应图片字段到Image上(Image在DataGrid中)
public class MyObject : ISerializable
{
public int n1;
public int n2;
public String str; public MyObject()
{
} protected MyObject(SerializationInfo info, StreamingContext context)
{
n1 = info.GetInt32("i");
n2 = info.GetInt32("j");
str = info.GetString("k");
}
[SecurityPermissionAttribute(SecurityAction.Demand,SerializationFormatter
=true)]
public virtual void GetObjectData(SerializationInfo info, StreamingContext context)
{
info.AddValue("i", n1);
info.AddValue("j", n2);
info.AddValue("k", str);
}
}
public class ClassA
{
private string str_;
private int num_;
public ClassA()
{
}
public ClassA(string myStr, int myNum)
{
str_ = myStr;
num_ = myNum;
}
public string Str
{
get { return str_; }
set { str_ = value; }
}
public int Num
{
get { return num_; }
set { num_ = value; }
}
}
ClassA ca = new ClassA( "Hello ", 10);
XmlSerializer mySerializer = new XmlSerializer(typeof(ClassA));
StreamWriter myWriter = new StreamWriter(@"e:\po.xml");
XmlSerializerNamespaces xmlns = new XmlSerializerNamespaces();
xmlns.Add(String.Empty, String.Empty);
mySerializer.Serialize(myWriter, ca, xmlns);
myWriter.Close();
现在得到结果如下:
<?xml version="1.0" encoding="utf-8"?>
<ClassA />还是没保存属性值啊。。
晕了。
现在得到结果如下:
<?xml version="1.0" encoding="utf-8"?>
<ClassA />还是没保存属性值啊。。
晕了。
{
[Serializable]
public class ClassA
{
private string str_;
private int num_;
public ClassA()
{
}
public ClassA(string myStr, int myNum)
{
str_ = myStr;
num_ = myNum;
}
public string Str
{
get { return str_; }
set {
str_ = value;
}
}
public int Num
{
get { return num_; }
set
{
this.num_ = value;
}
}
}
public class Program
{
static void Main(string[] args)
{
ClassA ca = new ClassA("Hello ", 10);
XmlSerializer xSerial = new XmlSerializer(typeof(ClassA));
StreamWriter write = new StreamWriter(@"D:\temp\po.xml ");
xSerial.Serialize(write, ca);//为什么串行化不了值
}
}
}namespace XmSerializerT
{
[Serializable]
public class ClassA : ISerializable
{
private string str_;
private int num_;
public ClassA()
{
}
protected ClassA(SerializationInfo info, StreamingContext context)
{
this.str_ = info.GetString("str_");
this.num_=info.GetInt32("num_");
}
public ClassA(string myStr, int myNum)
{
str_ = myStr;
num_ = myNum;
}
public string Str
{
get { return str_; }
set {
str_ = value;
}
}
public int Num
{
get { return num_; }
set
{
this.num_ = value;
}
} public void GetObjectData(SerializationInfo info, StreamingContext context)
{
info.AddValue("str", str_);
info.AddValue("num_", num_);
}
}
public class Program
{
static void Main(string[] args)
{
IFormatter formatter = new BinaryFormatter();
Stream stream = new FileStream(@"D:\temp\po.xml", FileMode.Create, FileAccess.Write, FileShare.None);
formatter.Serialize(stream, ca);
stream.Close();
}
}
}
{
[Serializable]
public class ClassA
{
private string str_;
private int num_;
public ClassA()
{
}
public ClassA(string myStr, int myNum)
{
str_ = myStr;
num_ = myNum;
}
public string Str
{
get { return str_; }
set {
str_ = value;
}
}
public int Num
{
get { return num_; }
set
{
this.num_ = value;
}
}
}
public class Program
{
static void Main(string[] args)
{
ClassA ca = new ClassA("Hello ", 10);
XmlSerializer xSerial = new XmlSerializer(typeof(ClassA));
StreamWriter write = new StreamWriter(@"D:\temp\po.xml ");
xSerial.Serialize(write, ca);//为什么串行化不了值
}
}
}namespace XmSerializerT
{
[Serializable]
public class ClassA : ISerializable
{
private string str_;
private int num_;
public ClassA()
{
}
protected ClassA(SerializationInfo info, StreamingContext context)
{
this.str_ = info.GetString("str_");
this.num_=info.GetInt32("num_");
}
public ClassA(string myStr, int myNum)
{
str_ = myStr;
num_ = myNum;
}
public string Str
{
get { return str_; }
set {
str_ = value;
}
}
public int Num
{
get { return num_; }
set
{
this.num_ = value;
}
} public void GetObjectData(SerializationInfo info, StreamingContext context)
{
info.AddValue("str", str_);
info.AddValue("num_", num_);
}
}
public class Program
{
static void Main(string[] args)
{
IFormatter formatter = new BinaryFormatter();
Stream stream = new FileStream(@"D:\temp\po.xml", FileMode.Create, FileAccess.Write, FileShare.None);
formatter.Serialize(stream, ca);
stream.Close();
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<ClassA xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Str>Hello </Str>
<Num>10</Num>
</ClassA>
你好,我用的C#.net3.5wince 环境下的写的类,但是在wince下不支持二进制的序列化,只有xml,那该怎么办啊?求帮助?邮箱:[email protected]