我过去将很多 xsd 转换为 C#,但今天我面临一条新的错误消息,对我来说:“无法生成类,因为没有找到具有复杂类型的顶级元素。”
我在 2 个文件上有这个问题。我阅读了很多关于此的帖子,它们帮助我解决了我遇到的 2 个问题中的至少 1 个。
我修复的文件是:
<?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 文件(与之前修复的非常相似),但它 xsd.exe 引发错误“无法生成类,因为没有找到具有复杂类型的顶级元素。” . 哪个是问题?上面的工作文件有什么区别?
<?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>
我也尝试使用 xsd2code,但我得到的只是一个空类。