Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 获取子节点的内部文本并将其存储在由分隔符分隔的字符串中_Sql_Xml - Fatal编程技术网

Sql 获取子节点的内部文本并将其存储在由分隔符分隔的字符串中

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

我想使用xsl获取带有逗号分隔符的子节点的内部文本

无法在代码中指定子节点元素。。可能是什么

例如:

教育部 应用化学研究生院 城市环境科学,东京都 米纳米奥萨瓦大学, 八知路桥 192-0397Japanhulie@au.ac.jp

我的密码是

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,'');