mis*_*czu 399
如果您正在使用VS 2012(或更新版本)中的.NET 4.5项目,则可以将特殊粘贴 XML文件作为类.
EDIT > Paste Special > Paste XML As Classes
Dar*_*rov 333
是的,使用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'.
Run Code Online (Sandbox Code Playgroud)
笔记
回答如何将开发人员命令提示符中的目录更改为d:\ temp可能很有用.
如果为多维数组生成类,则XSD.exe生成器中存在错误,但有一些解决方法.
D. *_*ott 40
起初我认为Paste Special是圣杯!但后来我尝试了,我的头发就像印第安纳琼斯电影一样变白了.
但现在我使用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; }
Run Code Online (Sandbox Code Playgroud)
Tal*_*lon 22
我意识到这是一个相当古老的帖子,你可能已经开始了.
但是我遇到了和你一样的问题所以我决定编写自己的程序.
对我来说,"xml - > xsd - > classes"路径的问题在于它只是生成了一块完全无法维护的代码,我最终还是把它搞得一团糟.
它绝不优雅,但它为我做了工作.
你可以在这里得到它:如果你喜欢,请提出建议.
您可以按照 Darin 的建议使用 xsd。
除此之外,建议编辑 test.xsd 文件以创建更合理的架构。
type="xs:string"
可以更改type="xs:int"
为整数值
minOccurs="0"
可以更改minOccurs="1"
为需要字段的地方
maxOccurs="unbounded"
可以更改为maxOccurs="1"
只允许一项
如果您想进一步验证数据,您可以创建更高级的 xsd-s,但这至少会在生成的 c# 中为您提供合理的数据类型。
归档时间: |
|
查看次数: |
188664 次 |
最近记录: |