【问题标题】:tag="value" and <tag>value</tag>tag="value" 和 <tag>value</tag>
【发布时间】:2012-08-12 20:39:12
【问题描述】:

我有 XML 格式的数据库,我需要将其导出到 SQL Server DB。 因此,我可以导出 xml,例如:tag="value" 但我的 XML 是:&lt;tag&gt;value&lt;/tag&gt;

我的查询:

DECLARE @tempTable TABLE (
userId INT,
userName NVARCHAR(50),
password NVARCHAR(50)
)
DECLARE @xml XML
SET @xml="my_XML"

INSERT INTO @tempTable<br />
SELECT Tbl.Col.value('@userId', 'INT'),<br />
       Tbl.Col.value('@userName', 'NVARCHAR(50)'),<br />
       Tbl.Col.value('@password', 'NVARCHAR(50)')<br />
FROM   @xml.nodes('//row') Tbl(Col)

SELECT * FROM @tempTable

我可以将第一种情况转换为第二种情况吗? 或者也许还有其他方法?

XML 数据示例:

<row>
<userId>1</userId>
<userName>Alpha</userName>
<password>1234</password>
</row>
<row>
<userId>2</userId>
<userName>Beta</userName>
<password>5678</password>
</row>

当我尝试导入它时,我收到包含 2 行 NULL 单元格的数据表。

【问题讨论】:

  • 如果您发布一个 xml 数据样本会有所帮助。

标签: sql xml database import


【解决方案1】:

所以你想要...?

 SELECT Tbl.Col.value('userId[1]','int'),
 Tbl.Col.value('userName[1]', 'NVARCHAR(50)'),
 Tbl.Col.value('password[1]', 'NVARCHAR(50)')
 FROM @xml.nodes('//row') Tbl(Col)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-23
    • 1970-01-01
    • 2012-05-30
    • 1970-01-01
    相关资源
    最近更新 更多