你好,我有一个 Excel 文件,其中包含字段名称和类型,就像下面的例子一样。
ID : INT
First_Name : String
Last_Name : String
Phone number : String
我想从我拥有的描述中生成一个XSD。
有这样的工具吗?
注意:仅使用Excel没有解决方案。
这是在2013年提问时就已经成立的事实,而现在(截至我所知),仍然如此。
尽管本页面提供了外部工具的答案,但它们代表了目前互联网上唯一的解决方案,并且已被查看了13,000次。
如果您或您认识的任何人使用仅限Excel生成XSD的解决方案,请添加它,因为这显然会帮助许多人。
在代码中对类进行建模:
public class Something
{
public int ID { get; set; }
public string First_Name { get; set; }
public string Last_Name { get; set; }
public string Phone_number { get; set; }
}
将其保存为 .cs 文件,然后编译它。
然后使用 xsd.exe 生成 xsd:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Something" nillable="true" type="Something" />
<xs:complexType name="Something">
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" name="ID" type="xs:int" />
<xs:element minOccurs="0" maxOccurs="1" name="First_Name" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="Last_Name" type="xs:string" />
<xs:element minOccurs="0" maxOccurs="1" name="Phone_number" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:schema>
In notepad, write your new schema like this:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<data-set xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<record>
<ID>12345</ID>
<FirstName>First Name</FirstName>
<LastName>Last Name</LastName>
<PhoneNumber>555-555-5555</PhoneNumber>
</record>
<record>
<ID>12346</ID>
<FirstName>John</FirstName>
<LastName>Doe</LastName>
<PhoneNumber>555-555-5555</PhoneNumber>
</record>
</data-set>
Save the file as schema.xml
结果将如下所示: