将 ODATA xml 序列化/反序列化为 C# 对象

Posted

技术标签:

【中文标题】将 ODATA xml 序列化/反序列化为 C# 对象【英文标题】:Serialize/Deserialize ODATA xml to C# object 【发布时间】:2018-07-17 07:50:23 【问题描述】:

我需要将 ODATA XML 转换为 C# 对象并返回 示例 xml。

 <entry xml:base="abc.com:8000"
       xmlns=w3.org/2005/Atom"
       xmlns:m="schemas.microsoft.com/ado/2007/08/dataservices/metadata"
       xmlns:d="schemas.microsoft.com/ado/2007/08/dataservices"
    >
       <id>abc.com:8000</id>
       <title type="text">MaintNotifSet</title>
       <content type="application/xml">
          <m:properties>
             <d:NotifType>MA</d:NotifType>
             <d:Dscid>...dsc id...</d:Dscid>
          </m:properties>
       </content>
    </entry>

是否有任何库可以帮助解析。请点亮。

【问题讨论】:

【参考方案1】:

在Visual Studio安装中使用XSD命令工具

XSD MyXml.xml

这将生成 MyXxl.XSD 那么

XSD /c myxml.xsd

这将生成包含你的类的 myxml.c

【讨论】:

这不是纯 xml。这是一个数据服务响应,它具有像 这样的自定义 xml 标签。 xsd 不工作 这个docs.microsoft.com/en-us/aspnet/web-api/overview/…怎么样

以上是关于将 ODATA xml 序列化/反序列化为 C# 对象的主要内容,如果未能解决你的问题,请参考以下文章

需要帮助将 XML 文件反序列化为对象 C#

将 XML 文件反序列化为 C# 类对象时出错

C#将不同类型的xml数组反序列化为多个数组

将 xml 反序列化为 c# 对象时,XML 文档 (2, 2) 出现错误

如何将 xml 元素值反序列化为 C# 类属性

将xml反序列化为c#中的类时从XmlTextAttribute获取int值