我有这个XML:
我想获取Property name =“ ParticipTypeName”上的值,我正在使用类似的方法:
;WITH XMLNAMESPACES(DEFAULT 'http://xml.common.asset.aoma.sonymusic.com/ProductMetadata.xsd')
SELECT
x.u.value('(/BusinessUnitProperties/Property[@name = "ParticipTypeName"])[1]', 'varchar(100)') as ParticipTypeName
from
@XML.nodes('/ProductMetadata/Tracks/Track/Participants/Participant') x(u)
它不起作用。我应该如何获得该物业的价值?
试试这个:
SELECT x.u.value('(//*:Property[@*:name="ParticipTypeName"])[1]','nvarchar(max)')
在//
将搜索的任何元素<Property>
。该XQuery
型滤波器将选择一个与你正在寻找的名称。该*:
会允许你忽略的命名空间。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句