在Excel中支持内联模式的XML?

我需要用XSD生成一个简单的XML文件(用户列表),所以这个XML可以导入Excel(2010+)。 这个XML提供的字段是dynamic的,取决于用户需要的字段。 该列表可以很长,我有大约40个字段,用户可以从中select。

Excel基于XML模式构build表格列。 如果第一行有缺less的字段,这些将以错误的顺序添加到表中。 所以一个架构是必需的! 由于XML基于请求,所以XML模式必须内联。

根据我所能find的关于内联模式的每篇文章,我已经创build了以下内容..但是它会在每一个validation器中烧毁。 Excel也不会接受它。

<?xml version="1.0" encoding="UTF-8"?> <users xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="#local"> <xs:schema id="local" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="users"> <xs:complexType> <xs:sequence> <xs:any processContents="skip" namespace="http://www.w3.org/2001/XMLSchema" minOccurs="0" maxOccurs="1"/> <xs:element ref="user" minOccurs='1' maxOccurs='unbounded'/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="user"> <xs:complexType> <xs:sequence> <xs:element ref="firstname" minOccurs='0' maxOccurs='1'/> <xs:element ref="lastname" minOccurs='0' maxOccurs='1'/> <xs:element ref="phone" minOccurs='0' maxOccurs='1'/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> <xs:element name="phone" type="xs:string"/> </xs:schema> <user> <lastname>Doe</lastname> <phone>123456789</phone> </user> <user> <firstname>John</firstname> <lastname>Something</lastname> </user> <user> <firstname>Jesus</firstname> <lastname>Christ</lastname> <phone>987654321</phone> </user> </users> 

我做错了什么? 看起来好简单