-1
我需要將XML文件轉換爲Microsoft SQL Server中的表。我們如何將XML文件中的URL轉換爲表格數據?將XML文件轉換爲數據庫表
我需要將XML文件轉換爲Microsoft SQL Server中的表。我們如何將XML文件中的URL轉換爲表格數據?將XML文件轉換爲數據庫表
也許它會幫助你:
DECLARE @xmls TABLE
(
Id INT IDENTITY(1,1),
Data XML
)
DECLARE @namespaces TABLE
(
IdXml INT
, NamespaceVal XML
)
INSERT INTO @xmls
(
Data
)
SELECT
'
<x:parent xmlns:x="http://temp.temp.org/x/x/" xmlns:y="http://temp.temp.org/y/y/" xmlns:z="http://temp.temp.org/z/z/">
<z:child1>
<val>zzz</val>
</z:child1>
<y:child2>
<val>yyy</val>
</y:child2>
<x:child3>
<val>zzz</val>
</x:child3>
</x:parent>
'
INSERT INTO @namespaces
(
IdXml,NamespaceVal
)
SELECT t.id,
t.Data.query('
for $node in /descendant::node()[namespace-uri() != ""]
return <namespace>{ namespace-uri($node) }</namespace>'
) AS nodes
FROM @xmls t
SELECT --DISTINCT
x.IdXml
, na.na.value('.', 'VARCHAR(1000)') namespace
FROM @namespaces x
CROSS APPLY x.NamespaceVal.nodes('/') AS n(n)
CROSS APPLY n.n.nodes('./namespace') AS na(na)
請提供任何XML實例 – Devart