【问题标题】:Add namespace to T-SQL query using XML FOR使用 XML FOR 将命名空间添加到 T-SQL 查询
【发布时间】:2013-12-25 07:26:49
【问题描述】:

我必须包含自定义字段的 XML 命名空间。

示例查询

SELECT field1 as '@attr1'
FROM table1
FOR XML PATH ('node')

到目前为止我收到的是:

<node attr1="value" />

我想要实现的是,简单明了,没有 xmlns decalrations。

<myname:node attr1="value">

如何做到这一点?

SQL Server 2012?

提前致谢!

【问题讨论】:

    标签: sql xml namespaces sql-server-2012


    【解决方案1】:

    您需要在查询中声明 XML 命名空间,并引用它 - 如下所示:

    ;WITH XMLNAMESPACES('myname' AS ns)
    SELECT field as '@attr1'
    FROM table1
    FOR XML PATH ('ns:node')
    

    然后你会得到这样的输出:

    <ns:node xmlns:ns="myname" attr1="value" />
    

    【讨论】:

    • 这有帮助,但我需要消除 xmlns:ns="myname" 作为属性的一部分。我的 XSD 儿子不支持。
    猜你喜欢
    • 1970-01-01
    • 2018-06-20
    • 1970-01-01
    • 2012-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 2017-09-21
    相关资源
    最近更新 更多