これを試してください:
;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 @XmlTableCROSS APPLY XMLData.nodes('/ArrayOfCatalogItem/CatalogItem/CI:Msds') AS XT(CI)CROSS APPLY CI.nodes('CI:Ingredients') AS XT18(Ingred)コード> プレ>
ごとに XML フラグメントのリストを取得します ノードから、ProductIdentifiers
を取得します 情報。さらに、このノードから、
のサブ XML フラグメントのリストも取得します。 ノードから詳細を取得します。
私の出力は次のようになります: