我可以从XML文件生成c#类吗?
当前回答
我和你有同样的问题,所以我决定自己写程序。
对我来说,“xml -> xsd ->类”路由的问题是它刚刚生成 这是一段完全不可维护的代码,我最终放弃了它。
它一点也不优雅,但对我来说它做到了。 你可以在这里得到它:SimpleXmlToCode
喜欢的话请提意见。
其他回答
是的,通过使用xsd.exe
D:\temp>xsd test.xml
Microsoft (R) Xml Schemas/DataTypes support utility
[Microsoft (R) .NET Framework, Version 4.0.30319.1]
Copyright (C) Microsoft Corporation. All rights reserved.
Writing file 'D:\temp\test.xsd'.
D:\temp>xsd test.xsd /classes
Microsoft (R) Xml Schemas/DataTypes support utility
[Microsoft (R) .NET Framework, Version 4.0.30319.1]
Copyright (C) Microsoft Corporation. All rights reserved.
Writing file 'D:\temp\test.cs'.
笔记
回答如何在开发人员命令提示中将目录更改为d:\temp可能有用。
如果您为多维数组生成类,XSD.exe生成器中有一个错误,但有变通方法。
将XML转换为c#类:
导航到Microsoft Visual Studio市场: ——https://marketplace.visualstudio.com 在搜索栏中输入文本: XML到类的代码工具 下载、安装并使用该应用程序
注意:在适当的时候,这个应用程序可能会被取代,但有可能会有另一个工具做同样的事情。
你应该考虑一个问题
xsd.exe和svcutil都对XML模式文件(.xsd)进行操作。您的XML必须符合这两种工具使用的模式文件。
请注意,各种第三方工具也存在于此。
我之前发现了这个网站。它将XML和JSON转换为c#和Java类。有几个选项可以根据需要进行调整。我经常用它。 https://json2csharp.com/xml-to-csharp
一开始我以为膏体特别版是圣杯!但后来我试了一下,我的头发变白了,就像印第安纳·琼斯电影里那样。
但现在我使用http://xmltocsharp.azurewebsites.net/,现在我像以前一样年轻。
以下是它产生的部分内容:
namespace Xml2CSharp
{
[XmlRoot(ElementName="entry")]
public class Entry {
[XmlElement(ElementName="hybrisEntryID")]
public string HybrisEntryID { get; set; }
[XmlElement(ElementName="mapicsLineSequenceNumber")]
public string MapicsLineSequenceNumber { get; set; }
推荐文章
- Selenium c# WebDriver:等待元素出现
- 我如何添加双引号的字符串,是在一个变量?
- 如何创建数组。包含不区分大小写的字符串数组?
- JavaScript中变量字符串的XML解析
- 检查字符串是否包含字符串列表中的元素
- 最好的方法在asp.net强制https为整个网站?
- 具有多个条件的XPath
- 将字符串转换为System.IO.Stream
- 如何从枚举中选择一个随机值?
- 驻留在App_Code中的类不可访问
- 在链式LINQ扩展方法调用中等价于'let'关键字的代码
- dynamic (c# 4)和var之间的区别是什么?
- Visual Studio: ContextSwitchDeadlock
- 返回文件在ASP。Net Core Web API
- 自定义HttpClient请求头