Dha*_*hal 2 xml sql-server xml-attribute
我将 XML 存储到数据库中,标签名称不同,但属性名称相同:
<book Category="Hobbies And Interests" PropertyName="C#" CategoryID="44" />
<sport Category="Hobbies And Interests" PropertyName="Cricket" CategoryID="46" />
Run Code Online (Sandbox Code Playgroud)
这只是两个示例,但标签名称可以是任何内容。我想从所有节点读取“PropertyName”属性。
是否可以?如果是,那么请任何人指导我。
declare @xml xml
set @xml = '<book Category="Hobbies And Interests" PropertyName="C#" CategoryID="44" />
<sport Category="Hobbies And Interests" PropertyName="Cricket" CategoryID="46" />'
select T.c.value('@PropertyName', 'varchar(100)')
from @xml.nodes('/*') T(c)
Run Code Online (Sandbox Code Playgroud)
如果您希望可以有没有 PropertyName 属性的元素,您可以使用:
select T.c.value('@PropertyName', 'varchar(100)')
from @xml.nodes('/*[@PropertyName]') T(c)
Run Code Online (Sandbox Code Playgroud)
如果您还希望元素可以嵌套,则可以使用:
select T.c.value('@PropertyName', 'varchar(100)')
from @xml.nodes('//*[@PropertyName]') T(c)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9194 次 |
| 最近记录: |