У меня есть следующий XML:
<Users>
<User Id="1">
<Name>Name1</Name>
<LastName>LastName1</LastName>
</User>
<User Id="5">
<Name>Name5</Name>
<LastName>LastName5</LastName>
</User>
<User Id="2">
<Name>Name2</Name>
<LastName>LastName2</LastName>
</User>
<User Id="4">
<Name>Name4</Name>
<LastName>LastName4</LastName>
</User>
<User Id="3">
<Name>Name3</Name>
<LastName>LastName3</LastName>
</User>
</Users>
Мне нужна сортировка по имени, затем по фамилии, как в SQL: order by Name, LastName asc
, а затем выберите ближайших пользователей (User1, User3, User5), поэтому вывод должен быть:
<Users>
<User Id="1">
<Name>Name1</Name>
<LastName>LastName1</LastName>
</User>
<User Id="3">
<Name>Name3</Name>
<LastName>LastName3</LastName>
</User>
<User Id="5">
<Name>Name5</Name>
<LastName>LastName5</LastName>
</User>
</Users>
Сейчас я использую следующий шаблон для сортировки:
<xsl:template match="Users">
<Users>
<xsl:for-each select="User">
<xsl:sort select="Name"/>
<xsl:sort select="LastName"/>
<User>
<xsl:attribute name="Id">
<xsl:value-of select="attribute::Id"/>
</xsl:attribute>
<Name>
<xsl:value-of select="Name"/>
</Name>
<LastName>
<xsl:value-of select="LastName"/>
</LastName>
</User>
</xsl:for-each>
</Users>
</xsl:template>
но я не знаю, как фильтровать пользователей.
Любая помощь приветствуется.
П.С .: Я использую ASP.NET 3.5