将对象模型映射到 XML
Map Object Model to XML
我正在基于 ASP.Net MVC 形式生成 PDF,我传递给控制器的数据模型是一个复杂的对象,我需要将它映射到 XML 并且然后从中生成 PDF。
问题是我不知道将对象映射到 XML 的最佳方法是什么。
顺便说一句,我的代码在 C# 中。
如有任何建议,我将不胜感激。
这确实有点过于宽泛,但这里有一些内置于 .NET 中的选项:
- 在您的 class 上也使用
XmlSerializer
from System.Xml.Serialization
: Mark your class(es) as [Serializable]
, use attributes to specify node names and mappings. You could implement IXmlSerializable
以进一步控制和自定义 XML 的读取或写入方式。
XDocument
来自 System.Xml.Linq
:如果您不需要序列化整个 class、and/or 您的 [=31],您可能会发现此接口更易于使用=] 结构与您要创建的 XML 结构几乎没有相似之处,您不希望 to/can 不修改 class(es)。请注意,如果您的 classes 更改,这将需要更新,而 XmlSerializer
将更容易地将更改合并到 class(除非您覆盖 ReadXml
和 WriteXml
, 在这种情况下,你在同一条船上)。
我正在基于 ASP.Net MVC 形式生成 PDF,我传递给控制器的数据模型是一个复杂的对象,我需要将它映射到 XML 并且然后从中生成 PDF。 问题是我不知道将对象映射到 XML 的最佳方法是什么。 顺便说一句,我的代码在 C# 中。 如有任何建议,我将不胜感激。
这确实有点过于宽泛,但这里有一些内置于 .NET 中的选项:
- 在您的 class 上也使用
XmlSerializer
fromSystem.Xml.Serialization
: Mark your class(es) as[Serializable]
, use attributes to specify node names and mappings. You could implementIXmlSerializable
以进一步控制和自定义 XML 的读取或写入方式。 XDocument
来自System.Xml.Linq
:如果您不需要序列化整个 class、and/or 您的 [=31],您可能会发现此接口更易于使用=] 结构与您要创建的 XML 结构几乎没有相似之处,您不希望 to/can 不修改 class(es)。请注意,如果您的 classes 更改,这将需要更新,而XmlSerializer
将更容易地将更改合并到 class(除非您覆盖ReadXml
和WriteXml
, 在这种情况下,你在同一条船上)。