XML 序列化,在本例中为 IXmlSerialized 或属性

发布于 2024-07-21 01:43:35 字数 258 浏览 7 评论 0原文

我之前做过一些 XML 序列化,但我使用了属性,我不确定这对于我的下一个作业是否可行,这里是 XML 操作要求的简短列表。

  • 通用 XMl 操作,绑定到树视图,无模式。
  • 加载/保存 XML。
  • 加载/保存属性以及值(我相信该术语是元素文本?),并注意节点的名称。
  • 可以安全地忽略注释,就像文档信息标记(即 UTF-8 和模式标签)一样。

关于如何最好地处理这个问题有什么建议吗?

I've done some XML serialization before but i used Attributes, I'm not sure this is doable for my next assignment, here's a brief list of XML manip requirementes.

  • General Purpose XMl manipulation, tied to a treeview, no schema.
  • Load/Save XML.
  • Load/Save Attributes as well as Values (i believe the term is Element Text?), and be mindful of the Node's name.
  • Comments can be safely ignored as can Document info markup (ie, the UTF-8 and schema tags)

Any suggestions on how best to handle this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

要走就滚别墨迹 2024-07-28 01:43:35

我可能不会为对象模型和 IXmlSerialized 烦恼 - 听起来您不妨用 XmlElement / XmlDocument 来讨论- 即,将数据作为 xml 块传递。 由于您没有模式,因此将其撕碎是没有意义的; 您也可以通过 xml DOM 来完成。

当你说树视图时——这是winforms、asp.net、wpf吗? 我相信 asp.net 树视图可以获取 xml 源,但对于 winforms,您必须自己迭代节点。

I probably wouldn't bother with an object model and IXmlSerializable - it sounds like you might just as well talk in terms of an XmlElement / XmlDocument - i.e. pass the data around as a block of xml. Since you have no schema it would be pointless to shred it out; you might as well do it via an xml DOM.

When you say treeview - is this winforms, asp.net, wpf? I believe the asp.net treeview can take an xml source, but for winforms you'd have to iterate the nodes yourself.

蓝眼泪 2024-07-28 01:43:35

不知道“之前但我使用了属性”到底是什么意思,但我也推荐 XmlSerializer:

  • 对于“简单”类,它通常是开箱即用的。
  • 集合可能需要更多的工作,但这取决于您的要求和对象结构。
  • 还有其他内置的 XML 序列化程序,例如 XAML 或 WCF DataContractSerializer。 都有优点和缺点。 但如果您想微调 XML 格式,XMLSerializer 是最灵活的一种。
  • 您可以逐步处理您的格式:如果默认值看起来不错,那么您就完成了。 如果没有,在大多数情况下您只需添加一些属性。
  • 如果您想要完全控制,您仍然可以实现 IXmlSerialize 来微调您的格式。
  • 一切都适用于每个类:在适当的情况下使用默认值,在需要的地方添加一些属性并根据需要实现 IXmlSerialized。

Don't know what exactly you mean with "before but i used Attributes" but I would recommend XmlSerializer too:

  • With "simple" classes it works usually out of the box.
  • Collections might need some more work, but it depends on your requirements and object structure.
  • There are other build in XML serializers like XAML or the WCF DataContractSerializer. All have pros and cons. But if you want to fine tune your XML format, XMLSerializer is the most flexibel one.
  • You can approach your format step by step: If the default looks good, your done. If not you have to add just some attributes in most cases.
  • If you want complete control, you can still implement IXmlSerialize to fine tune your format.
  • Everything applies on a per class basis: Use the default where appropriate, add some attributes where required and implement IXmlSerializable as required.
-残月青衣踏尘吟 2024-07-28 01:43:35

我建议您使用 .NET 框架支持的简单 XML 序列化。

浏览这些 MSDN 文档

如何序列化对象

如何反序列化对象

I would suggest you to use the simple XML serialization supported by the .NET framework.

Go through these MSDN documentation

How to Serialize an object

How to Deserialize an object

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文