代码之家  ›  专栏  ›  技术社区  ›  Tim

让MS SQL 2008生成类似MySQL5.0的XML?

  •  0
  • Tim  · 技术社区  · 14 年前

    不久前,我编写了一个应用程序,它依赖于MySQL5.0数据库中的XML。它通过调用 mysql 使用 --xml

    <resultset statement="SELECT * FROM tablename " 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <row>
            <field name="some_int">2</field>
            <field name="some_varchar">a string</field>
        </row>
    </resultset>

    现在我正在尝试切换到mssql2008,我已经把表移植好了,客户端可以调用它想调用的任何东西,所以没有问题。我的问题是让MS SQL输出预期的XML—有没有一种简单的方法来生成相同的结构?

    到目前为止我已经看过 FOR XML SELECT 语句,它似乎非常接近我想要做的(使用 PATH <field> 不再使用标记,而是使用列名命名标记,因此上面的XML变成:

    <row>
        <some_int>2</some_int>
        <some_varchar>a string</some_varchar>
    </row>
    

    (注意 <resultset>

    对于XML 选择 sqlcmd ,或 osql 生成正确文本的命令-不必很漂亮。

    我所做的陈述非常直截了当 SELECT * FROM tablename .

    1 回复  |  直到 14 年前
        1
  •  1
  •   amarcy    14 年前

    我认为你最好使用XSD。要将它转换成相同的格式,您必须自己进行一些操作,但是您可以将数据作为XML输出,而不需要太多麻烦。

    http://msdn.microsoft.com/en-us/library/aa258637(SQL.80).aspx