以下将正常工作。但我想在没有属性或库名的情况下动态阅读它
示例 xml
declare @xmlval xml='<ArrayOfCustomers>
<Customer>
<ItemId>1</ItemId>
<Value>Mr Smith</Value>
</Customer>
<Customer>
<ItemId>2</ItemId>
<Value>Mr Bloggs</Value>
</Customer>
</ArrayOfCustomers>'
示例查询
SELECT
Cust.value('(ItemId)[1]', 'int') AS 'ItemID',
Cust.value('(Value)[1]', 'Varchar(50)') AS 'Customer Name'
FROM
@xmlval.nodes('/ArrayOfCustomers/Customer') AS AOC(Cust)
以上工作正常。如何从 xml 值中获取值而不在 select 语句中提及其属性名称。
--必需的查询样本格式 例如:
SELECT
Cust.value('[0][1]', 'int') AS 'ItemID',
Cust.value('[1][1]', 'Varchar(50)') AS 'Customer Name'
或者
SELECT
Cust.value('[1]', 'int') AS 'ItemID',
Cust.value('[1]', 'Varchar(50)') AS 'Customer Name'
FROM
@xmlval.nodes('/ArrayOfCustomers/Customer') AS AOC(Cust)
在我们的例子中,我不知道输入 @xmlval 值的列或属性名称。我想将 xml 值插入到新表中 (int,varchar(50))
谢谢, 维尔桑卡尔