我正在写在VB.NET一个小应用程序,我想一些类要能自己写出来,以XML作为一个“保存”功能。我已经看到用于生成VB类的XSD文件,它们可以非常容易地将自己序列化为XML。我会怎么做,如果我有我需要遵守,因为我刚刚创建的类自己的任何预先存在的XML格式?我怎样写在VB.NET容易XML序列化对象?
3
A
回答
6
使用的System.Xml和的System.Xml.Serialization命名空间。他们描述了你可以使用相应标签来注释类的成员的类。
例如(在C#):
[XmlRoot("foo")]
public class Foo
{
[XmlAttribute("bar")]
public string bar;
[XmlAttribute("baz")]
public double baz;
}
或在VB.NET(可能不是完全语法正确):
<XmlRoot ("foo")> _
Public Class Foo
<XmlAttribute ("bar")>_
Public bar As String
<XmlAttribute ("baz")>_
Public baz As String
End Class
然后,您可以使用XmlSerializer类输出XML。
在C#:
using(XmlSerializer xmls = new XmlSerializer(typeof(Foo)){
TextWriter tw = new StreamWriter("foo.xml");
//use it!
}
或VB:
Using xmls As New XmlSerializer(gettype(Foo)), _
tw As TextWriter = New StreamWriter("foo.xml")
''//use it!
End Using
2
既然你问使它“易”,然后有三个规律可循,这将有助于使事情变得非常简单:
- 仅使用可序列
- 不要使用集合属性类型或数组作为属性需要被序列化
- 没有与“坏”的副作用性能。 “坏”,我主要是指两个公共财产,由相同的基础私人领域支持。
请注意,如果您违反这些规则,您可能仍会序列化您的课程,但这可能需要更多的工作。
对于项目#2,快速修复是利用一个数据表或数据集,因为这些是可序列化。
0
去一个简单的“保存”功能,既可以使用.NET XML序列化[1],或者创建自己的内存DateSet正坚持在尽可能多的DateTables作为您认为合适的“世界的状态”。它取决于你想要坚持的对象模型的完成方式。
[1]最简单的例子,我可以很快找到(C#,抱歉,但你会得到的要点)http://www.jonasjohn.de/snippets/csharp/xmlserializer-example.htm
相关问题
- 1. XML序列化:对象未序列化
- 2. VB.NET XML序列化继承对象列表
- 3. Xml序列化对象(HttpBrowserCapabilities)
- 4. 序列化对象到XML
- 5. Android XML对象序列化
- 6. 如何容易序列化对象的XML文件使用XStream库
- 7. 我怎样才能在vb.net
- 8. 我怎样才能在VB.net
- 9. 我怎样才能在vb.net
- 10. 将XML字符串反序列化为对象VB.NET
- 11. 序列化对象到XML和XML
- 12. 反序列化XML到对象在C#
- 13. 恢复以前序列化的JFrame对象,怎么样?
- 14. VB.Net - 我怎样才能获得包含在列表中的对象的类型
- 15. 怎样用简单的XML对象
- 16. XML包含对象列表的对象的序列化列表
- 17. 我怎样写在迅速
- 18. 将XML反序列化为C#对象
- 19. 将XML反序列化为C#对象
- 20. XML序列化讨厌的对象
- 21. 如何将对象序列化为XML
- 22. 反序列化XML数组对象
- 23. 序列化对象到XML问题
- 24. 反序列化XML响应为对象
- 25. XML序列化动态对象
- 26. 如何序列化对象到XML?
- 27. XML XNA对象反序列化
- 28. 将对象序列化为XML
- 29. XML序列化实体对象
- 30. 将对象序列化为XML Java