簡體   English   中英

如何從xml獲取標簽屬性值

[英]How to get tag attribute value from xml

我有一個xml,其中給出了值:

<User version="5.1.0.1" ... (omitted for brevity) >
  <Login usewinLogin="true" passwordNeverExpires="false" />
  <Misc />
  <AdditionalInfo />
  <OutOfOfficeSettings isOutOfOffice="false" startDateTime="0001-01-01T00:00:00.0000000Z" />
  <RegionalSettings language="de" culture="de" />
</User>`

我需要OutofOfficeSettings isOutofOffice =中的值(選項為false或true)。

我以前從未這樣做過,有人來幫助我嗎?

一種選擇

Declare @DWUser  table (Active int, settings xml )
Insert Into @DWUser  values 
 (1,'<User version="5.1.0.1" uid="1" oid="2" w3uid="ADMIN" guid="05b6f2a2-cdf8-4b73-8d1b-86eab657654" oguid="43a0d394-e515-45ea-aa25-7822673c52a3" name="admin" active="true" eMail="admin@admin.com" distribution="NetworkStartup" securityLevel="Normal" defaultWebBasket="cc1c589a-549a-4957-959b-3b5acc4decc9"><Login usewinLogin="true" passwordNeverExpires="false" /><Misc /><AdditionalInfo /><OutOfOfficeSettings isOutOfOffice="false" startDateTime="0001-01-01T00:00:00.0000000Z" /><RegionalSettings language="de" culture="de" /></User>')
,(1,'<root><OtherXML>Hi</OtherXML></root>')


Select A.active
      ,Type = X.attr.value('@isOutOfOffice','varchar(100)')
 From @DWUser A
 Outer Apply A.settings.nodes('User/OutOfOfficeSettings') as X(attr)
 Where A.Active=1

返回

active  Type
1       false
1       NULL

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM