Xml 如何在xslt中对值进行排序?
您好,您能告诉我如何在xslt中对值进行排序吗 这是我的密码 XMLXml 如何在xslt中对值进行排序?,xml,xslt,xslt-1.0,xslt-2.0,Xml,Xslt,Xslt 1.0,Xslt 2.0,您好,您能告诉我如何在xslt中对值进行排序吗 这是我的密码 XML <livescore gn="192.168.24.87"> <calendar potime="715"> <test matchstatus="Match Ended" name="ccc" matchnumber="Match 1"/> <test matchstatus="adsds" name="bb" m
<livescore gn="192.168.24.87">
<calendar potime="715">
<test matchstatus="Match Ended" name="ccc" matchnumber="Match 1"/>
<test matchstatus="adsds" name="bb" matchnumber="Match 2"/>
<test matchstatus="Match Ended" name="aaa" matchnumber="Match 4"/>
<test matchstatus="Match Ended" name="bbb" matchnumber="Match 3"/>
</calendar>
</livescore>
代码
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output method="html" doctype-public="XSLT-compat" omit-xml-declaration="yes" encoding="UTF-8" indent="yes" />
<xsl:template match="/">
<hmtl>
<head>
<title>New Version!</title>
</head>
<xsl:apply-templates select="livescore/calendar/test[@matchstatus ='Match Ended']"/>
</hmtl>
</xsl:template>
<xsl:template match="livescore/calendar/test[@matchstatus ='Match Ended']" >
<h1><xsl:value-of select="@name"/></h1>
</xsl:template>
</xsl:transform>
新版本!
输出
<h1>ccc</h1>
<h1>aaa</h1>
<h1>bbb</h1>
<h1>aaa</h1>
<h1>bbb</h1>
<h1>ccc</h1>
ccc
aaa
bbb
预期产出
<h1>ccc</h1>
<h1>aaa</h1>
<h1>bbb</h1>
<h1>aaa</h1>
<h1>bbb</h1>
<h1>ccc</h1>
aaa
bbb
ccc
我试过这句话
<xsl:sort select="normalize-space(substring-after(matchnumber,' '))" data-type="number" order="descending"/>
但不工作
<xsl:sort select="//@matchnumber"/>
AFAICT,您只需将缺少的
@
添加到您的尝试中,并使其:
<xsl:sort select="normalize-space(substring-after(@matchnumber,' '))" data-type="number" order="descending"/>
演示:AFAICT,您只需将缺少的
@
添加到您的尝试中,并使其:
<xsl:sort select="normalize-space(substring-after(@matchnumber,' '))" data-type="number" order="descending"/>
演示:使用
matchnumber
我需要排序matchnumber
我需要排序请删除此答案请删除此答案