你写的那两个明明是xsl怎么说是存储过程? 如果你的意思是存储过程筛选xsl描述的这样的节点集:
DECLARE @x XML
SET @x='<root>
<ArticleList>
<title>aaa</title>
</ArticleList>
<ArticleList>
<title>bbb</title>
</ArticleList> </root>'
--1
SELECT x.query('//ArticleList') FROM @x.nodes('/root') AS t(x)
/*<ArticleList><title>aaa</title></ArticleList><ArticleList><title>bbb</title></ArticleList>*/
--2
SELECT x.query('.') FROM @x.nodes('//ArticleList') AS t(x)
/*
<ArticleList><title>aaa</title></ArticleList>
<ArticleList><title>bbb</title></ArticleList>
*/
DECLARE @x XML
SET @x='<root>
<ArticleList>
<title>aaa</title>
</ArticleList>
<ArticleList>
<title>bbb</title>
</ArticleList> </root>'
--1
SELECT x.query('//ArticleList') FROM @x.nodes('/root') AS t(x)
/*<ArticleList><title>aaa</title></ArticleList><ArticleList><title>bbb</title></ArticleList>*/
--2
SELECT x.query('.') FROM @x.nodes('//ArticleList') AS t(x)
/*
<ArticleList><title>aaa</title></ArticleList>
<ArticleList><title>bbb</title></ArticleList>
*/
<root>
<ArticleList>
<title> </title>
</ArticleList>
<Sort>
<SortName></SortName>
</Sort>
</root>
如何取<Article>和<Sort>的节点
/***这个要去Sort节点下的值***/
54Reader—>
<xsl:if test="NType/@NTypeText!=''">-
<xsl:for-each select="NType">
<xsl:value-of select="@NTypeText"></xsl:value-of>
<xsl:if test="position()!=last()">
->
</xsl:if>
</xsl:for-each>
</xsl:if>
/***下面要取Article下面的节点***/
文章标题:
<xsl:value-of select="@Title"></xsl:value-of>
</xsl:template>