Class XSD不能生成类,但可以在类似的文件上工作
过去我将很多xsd转换为C#,但今天我面临一个新的错误消息:“无法生成类,因为找不到复杂类型的顶级元素。” 我有两个文件有这个问题。我读了很多关于这方面的帖子,他们帮助我解决了我遇到的两个问题中的至少一个 我修复的文件是:Class XSD不能生成类,但可以在类似的文件上工作,class,xsd,auto-generate,xsd.exe,xsd2code,Class,Xsd,Auto Generate,Xsd.exe,Xsd2code,过去我将很多xsd转换为C#,但今天我面临一个新的错误消息:“无法生成类,因为找不到复杂类型的顶级元素。” 我有两个文件有这个问题。我读了很多关于这方面的帖子,他们帮助我解决了我遇到的两个问题中的至少一个 我修复的文件是: <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:mg="urn:crif-messagegateway:2006-08-23" xmlns:xs="http://www.w3.org/2001/
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:mg="urn:crif-messagegateway:2006-08-23" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:crif-messagegateway:2006-08-23" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="MGRequest" type="xs:string"/>
<xs:element name="MGResponse" type="xs:string"/>
</xs:schema>
我把它编辑成:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:mg="urn:crif-messagegateway:2006-08-23" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:crif-messagegateway:2006-08-23" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="MGRequest">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string" />
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="MGResponse">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string" />
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:schema>
现在,我还尝试转换以下xsd文件(与之前的修复文件非常类似),但它会抛出错误“无法生成类,因为找不到复杂类型的顶级元素。”。问题是什么?上面的工作文件有什么不同
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:mg="urn:crif-messagegateway:2006-08-23" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:crif-messagegateway:2006-08-23" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="MGRequest">
<xs:complexType>
<xs:sequence>
<xs:any namespace="##other"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="MGResponse">
<xs:complexType>
<xs:sequence>
<xs:any namespace="##other"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
我也尝试过使用XSD2代码,但得到的只是一个空类。我想它没有必要创建一个类来包装一个基元类型,如果您运行它,您会得到这个结果
namespace LiquidTechnologies.GeneratedLx.Mg
{
#region Elements
/// <summary>A class representing the root XSD element MGRequest@urn:crif-messagegateway:2006-08-23</summary>
/// <XsdPath>schema:schema.xsd/element:MGRequest</XsdPath>
/// <XsdFile>file://sandbox/schema.xsd</XsdFile>
/// <XsdLocation>3:5-3:52</XsdLocation>
[LxSimpleElementDefinition("MGRequest", "urn:crif-messagegateway:2006-08-23", ElementScopeType.GlobalElement)]
public partial class MGRequestElm
{
/// <summary>Holds the <see cref="System.String" /> (xs:http://www.w3.org/2001/XMLSchema:string) value of the element</summary>
/// <XsdPath>schema:schema.xsd/element:MGRequest</XsdPath>
/// <XsdFile>file://sandbox/schema.xsd</XsdFile>
/// <XsdLocation>3:5-3:52</XsdLocation>
[LxValue(LxValueType.Value, XsdType.XsdString)]
public System.String Value { get; set; } = "";
}
/// <summary>A class representing the root XSD element MGResponse@urn:crif-messagegateway:2006-08-23</summary>
/// <XsdPath>schema:schema.xsd/element:MGResponse</XsdPath>
/// <XsdFile>file://sandbox/schema.xsd</XsdFile>
/// <XsdLocation>4:5-4:53</XsdLocation>
[LxSimpleElementDefinition("MGResponse", "urn:crif-messagegateway:2006-08-23", ElementScopeType.GlobalElement)]
public partial class MGResponseElm
{
/// <summary>Holds the <see cref="System.String" /> (xs:http://www.w3.org/2001/XMLSchema:string) value of the element</summary>
/// <XsdPath>schema:schema.xsd/element:MGResponse</XsdPath>
/// <XsdFile>file://sandbox/schema.xsd</XsdFile>
/// <XsdLocation>4:5-4:53</XsdLocation>
[LxValue(LxValueType.Value, XsdType.XsdString)]
public System.String Value { get; set; } = "";
}
#endregion
}
namespace LiquidTechnologies.GeneratedLx.Mg
{
#区域元素
///表示根XSD元素的类MGRequest@urn:crif messagegateway:2006-08-23
///schema:schema.xsd/element:MGRequest
/// file://sandbox/schema.xsd
/// 3:5-3:52
[LxSimpleElementDefinition(“MGRequest”,“urn:crif messagegateway:2006-08-23”,ElementScopeType.GlobalElement)]
公共部分类管理器
{
///持有(xs:http://www.w3.org/2001/XMLSchema:string)元素的值
///schema:schema.xsd/element:MGRequest
/// file://sandbox/schema.xsd
/// 3:5-3:52
[LxValue(LxValueType.Value,XsdType.XsdString)]
public System.String值{get;set;}=”“;
}
///表示根XSD元素的类MGResponse@urn:crif messagegateway:2006-08-23
///schema:schema.xsd/element:MGResponse
/// file://sandbox/schema.xsd
/// 4:5-4:53
[LxSimpleElementDefinition(“MGResponse”,“urn:crif messagegateway:2006-08-23”,ElementScopeType.GlobalElement)]
公共部分类管理器响应seelm
{
///持有(xs:http://www.w3.org/2001/XMLSchema:string)元素的值
///schema:schema.xsd/element:MGResponse
/// file://sandbox/schema.xsd
/// 4:5-4:53
[LxValue(LxValueType.Value,XsdType.XsdString)]
public System.String值{get;set;}=”“;
}
#端区
}
液体XML对象对于小型xsd是免费的