わかりました、ストアド プロシージャのコードが今あります。
ALTER PROC [dbo].[Readxml]
@xmlparam XML
AS
BEGIN
SET NOCOUNT ON
DECLARE @CustomerXml AS XML
SET @CustomerXml = @xmlparam
INSERT INTO Custtable.dbo.SPCustomer
(
CustomerId,
CustomerName
)
SELECT
Customer.attribute.value('CustomerId[1]', 'nvarchar(255)') AS CustomerId,
Customer.attribute.value('Name[1]', 'nvarchar(255)') AS CustomerName
FROM
@xmlparam.nodes('Customers/Customer') AS Customer(attribute)
END
私のXMLは次のようになります(簡略化)。
<Customers>
<Customer CustomerId="94" Name="name1" />
<Customer CustomerId="95" Name="name2" />
<Customer CustomerId="96" Name="name3" />
</Customers>
現在のコードでは、存在しないandという<Customer>
タグ内の要素を取得しようとしていることを理解しているため、属性値を取得できません。CustomerId
Name
テーブルからすべての行を選択すると、手順が完了した後、すべての行が取得されますが、値は NULL になります。
私の質問ですが、XML から属性を取得するにはどうすればよいですか?
前もって感謝します!