我有一个要求,比如我需要用 C# 编写一个可以保存 xml 数据的实体类。我想避免检查保存的 xml 格式良好的开销。我有一个 XML 类型的相应列。我们是否有 xml 数据类型或某些可以用作类字段来保存 xml 的类。提前致谢
更新:使用此实体类的服务是WCF
服务,将来我们会使其REST
兼容。将XmlDocument
或XElement
与它一起工作?
我有一个要求,比如我需要用 C# 编写一个可以保存 xml 数据的实体类。我想避免检查保存的 xml 格式良好的开销。我有一个 XML 类型的相应列。我们是否有 xml 数据类型或某些可以用作类字段来保存 xml 的类。提前致谢
更新:使用此实体类的服务是WCF
服务,将来我们会使其REST
兼容。将XmlDocument
或XElement
与它一起工作?
有很多方法,其中两种是string
和XmlDocument
。
string
对于片段和格式不正确的 XML 会“更容易”,但XmlDocument
可以配置选项以允许片段;不过,格式不正确的数据会给您带来更多麻烦。
如果您在 XSD 文件中描述您的对象,您可以让编译器自动生成所有 C# 类,并在您进行更改时轻松地重新生成它们。
这使 XML / C# 变得轻而易举。您也可以使用等效的生成器转到其他语言。
请参阅此处描述的工具:XSDObjectGen.exe vs XSD.exe
我相信 XSD.exe 工具将读取示例 XML 并完成大部分工作以生成您可以改进的 XSD。
如果您不需要支持固定的 XML/XSD 格式文件,为什么不能通过使用 [Serializable] 类属性和 .Net APIS 序列化/反序列化将任何类序列化为 XML?