我对xml结构没有经验,因此需要一个起点来了解如何从xml下面的结构中检索值。
我xml从webservice使用中获取stored-procedure并将其存储到表中的“ StockInfoXML”表中,该表包含类型为xmlis XML_Urlxml。
<string xmlns="http://www.webserviceX.NET/">
<StockQuotes>
<Stock>
<Symbol>ENGI.PA</Symbol>
<Last>13.53</Last>
<Date>5/23/2017</Date>
<Time>12:37pm</Time>
<Change>+0.06</Change>
<Open>13.45</Open>
<High>13.59</High>
<Low>13.40</Low>
<Volume>1524437</Volume>
<MktCap>32.95B</MktCap>
<PreviousClose>13.47</PreviousClose>
<PercentageChange>+0.48%</PercentageChange>
<AnnRange>10.77 - 15.20</AnnRange>
<Earns>-0.23</Earns>
<P-E>N/A</P-E>
<Name>ENGIE</Name>
</Stock>
</StockQuotes>
</string>
Run Code Online (Sandbox Code Playgroud)
我尝试了几件事,但一直null没有回来。
declare @X XML;
SELECT
@X = XML_Url
FROM dbo.StockExchangeInfoXML
SELECT
x.s.value('(StockQuotes/Stock/Symbol)[1]', 'nvarchar(50)') AS [Symbol]
FROM @X.nodes('./StockQuotes/Stock') AS x(s);
Run Code Online (Sandbox Code Playgroud)
有人可以帮助我入门吗?谢谢。