从TSQL XML中拉出属性
我有以下XML:从TSQL XML中拉出属性,sql,xml,tsql,dom,Sql,Xml,Tsql,Dom,我有以下XML: <help> <item field="field1" help="helptext" /> <item field="field2" help="helptext" /> <item field="field3" help="helptext" /> </help> 有人知道如何做到这一点吗 最亲切的问候 Adam查看以下内容是否有帮助: DECLARE @processedXmlDoc int DEC
<help>
<item field="field1" help="helptext" />
<item field="field2" help="helptext" />
<item field="field3" help="helptext" />
</help>
有人知道如何做到这一点吗
最亲切的问候
Adam查看以下内容是否有帮助:
DECLARE @processedXmlDoc int
DECLARE @inputDoc varchar(1000)
EXEC sp_xml_preparedocument @processedXmlDoc OUTPUT, @inputDoc
SELECT *
FROM OPENXML (@processedXmlDoc , '/help/item',1)
WITH (field varchar(20) 'field',
help varchar(20) 'helpText')
EXECUTE sp_xml_removedocument @idoc
希望这能有所帮助。尝试以下方法:
DECLARE @input XML = '<help>
<item field="field1" help="helptext" />
<item field="field2" help="helptext" />
<item field="field3" help="helptext" />
</help>'
SELECT
Field = Item.value('@field', 'varchar(25)'),
HELP = Item.value('@help', 'varchar(50)')
FROM
@input.nodes('/help/item') AS XTbl(Item)
DECLARE@input XML='1〕
'
挑选
Field=Item.value(“@Field”,“varchar(25)”),
HELP=Item.value(“@HELP”,“varchar(50)”)
从…起
@input.nodes('/help/item')作为XTbl(item)
其中MyTable是包含xml数据的字段MyXmlField的表。感谢您的回复。如果XML是一个变量,那么这种方法非常有效。我正在努力将它链接起来,以便从表中使用它,因为我正在为此创建一个视图。谢谢你的帮助!
DECLARE @input XML = '<help>
<item field="field1" help="helptext" />
<item field="field2" help="helptext" />
<item field="field3" help="helptext" />
</help>'
SELECT
Field = Item.value('@field', 'varchar(25)'),
HELP = Item.value('@help', 'varchar(50)')
FROM
@input.nodes('/help/item') AS XTbl(Item)
DECLARE @xml AS XML = '<help>
<item field="field1" help="helptext" />
<item field="field2" help="helptext" />
<item field="field3" help="helptext" />
</help>'
select c.value('@field', 'varchar(max)') field, c.value('@help', 'varchar(max)') help
from @xml.nodes('/help/item') T(c);
SELECT c.value('@field', 'varchar(max)') field, c.value('@help', 'varchar(max)') help
FROM MyTable A CROSS APPLY A.MyXmlField.nodes('/help/item') T(c)