इसे आजमाएं:
;WITH XMLNAMESPACES ('http://3ecompany.com/webservices/catalogitemxml' as CI)
SELECT
Identifier = CI.value('(CI:ProductIdentifiers[1]/CI:Identifier)[1]', 'varchar(9)'),
CAS_Number = Ingred.value('(CI:Cas)[1]', 'varchar(20)'),
Chemical_Name = Ingred.value('(CI:ChemicalName)[1]', 'varchar(100)')
FROM
@XmlTable
CROSS APPLY
XMLData.nodes('/ArrayOfCatalogItem/CatalogItem/CI:Msds') AS XT(CI)
CROSS APPLY
CI.nodes('CI:Ingredients') AS XT18(Ingred)
मुझे प्रत्येक <Msds>
. के लिए XML अंशों की एक सूची मिलती है नोड, और इससे मैं ProductIdentifiers
. लेता हूं जानकारी। साथ ही, इस नोड से, मुझे <Ingredients>
के लिए उप-XML-टुकड़ों की एक सूची भी मिलती है नोड्स, और इनमें से विस्तृत जानकारी प्राप्त करें।
मेरा आउटपुट इस तरह दिखता है: