Sql 获取子节点的内部文本并将其存储在由分隔符分隔的字符串中
我想使用xsl获取带有逗号分隔符的子节点的内部文本 无法在代码中指定子节点元素。。可能是什么 例如: 教育部 应用化学研究生院 城市环境科学,东京都 米纳米奥萨瓦大学, 八知路桥 192-0397Japanhulie@au.ac.jp 我的密码是Sql 获取子节点的内部文本并将其存储在由分隔符分隔的字符串中,sql,xml,Sql,Xml,我想使用xsl获取带有逗号分隔符的子节点的内部文本 无法在代码中指定子节点元素。。可能是什么 例如: 教育部 应用化学研究生院 城市环境科学,东京都 米纳米奥萨瓦大学, 八知路桥 192-0397Japanhulie@au.ac.jp 我的密码是 SELECT REPLACE(Element.value('(.)[1]','NVARCHAR(MAX)'), CHAR(10), '') AS address FROM @xml.nodes('aff') Datalist ( Element
SELECT
REPLACE(Element.value('(.)[1]','NVARCHAR(MAX)'), CHAR(10), '') AS address
FROM @xml.nodes('aff') Datalist ( Element );
预期产出:
城市大学研究生院应用化学系
环境科学,东京都会大学,南弥川,
八角町,东京192-0397。。。像这样
试着这样做:
DECLARE @xml XML=
N'<aff id="affa">
<org>
<orgname>
<nameelt>Department of Applied Chemistry</nameelt>
<nameelt>Graduate School of Urban Environmental Sciences, Tokyo Metropolitan University</nameelt>
</orgname>
</org>
<address>
<addrelt>Minamiohsawa, Hachioji</addrelt>
<city>Tokyo 192-0397</city>
<country>Japan</country>
</address>
<email>hulie@au.ac.jp</email>
</aff>';
SELECT STUFF(
(
SELECT ', ' + n.value(N'text()[1]','nvarchar(max)')
FROM @xml.nodes(N'/aff/org/orgname/nameelt') AS A(n)
FOR XML PATH(''),TYPE
).value(N'text()[1]','nvarchar(max)'),1,2,'');