为定义的XML和表创建XSD

时间:2015-07-22 06:47:45

标签: sql-server xml xsd schema xmltable

我想为一个使用XML文件的sql-server数据库构建一个导入接口。现在我不得不创建一个XSD文件来确保输入-xml正确。

我们说我有这样一张桌子:

table:    accounts
colummns: account_id INT NOT NULL
          name VARCHAR(20) NOT NULL
          type CHAR(1) NOT NULL
          desc VARCHAR(100)

并且xml文件应如下所示:

<accounts>
    <account>
        <account_id>1</account_id>
        <name>account A</name>
        <type>B</type>
    </account>
    <account>
        <account_id>2</account_id>
        <name>account B</name>
        <type>D</type>
        <desc>some text here</desc>
    </account>
</accounts>

这是我第一次设计这样的东西而且我没有使用xsd文件的经验...... 我尝试了一些像SELECT .. FOR XML AUTO, XMLSCHEMA和XSD.exe这样的东西,但没有给我任何想要的东西。

我想在XSD中映射SQL-Server表的类型 - 例如nullable / not nullable和字符串长度。应声明一系列有效值(例如type只能是A,B,C或D)。

2 个答案:

答案 0 :(得分:1)

  SELECT * FROM [accounts] FOR XML PATH('account'), ROOT('accounts')

答案 1 :(得分:0)

找到了一个使用XSD.exe的解决方案 - 刚刚创建了一个XSD然后采用了它,但是如果你对这个主题完全不熟悉那就很难了; - )