これを試してください:
;WITH XMLNAMESPACES ('https://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 フラグメントのリストも取得します。 ノードから詳細を取得します。
私の出力は次のようになります:
