登陆 | 免费注册(只需一分钟) | 会员中心

聚宝网   购物专题 基金专题 性专题 饮食专题 教育专题 生活大参考 园林资讯 园艺库 健康专题
  论文专题 家庭养花 园林景观 盆景奇石 激情图库 农业资料库 园林古建 英文站 花卉栽培

聚宝网免费为您提供 最新IT资讯

 

首页 > 网页设计 > Xml
xml中如何对数字字段进行排序
时间:2007-06-17  www.jubao163.com  来源: 不详

我的xml文件的内容如下: <?xml version="1.0" encoding="gb2312" ?> 
<list>
 <user>
  <num>1</num>
  <cn>demo1</cn> 
  <realname>demo1</realname> 
  <mailquota>51200</mailquota> 
  <creator>demo1</creator> 
  <createtime>2003-05-08</createtime> 
  <accountstatus>active</accountstatus> 
 </user>
 <user>
  <num>2</num>
  <cn>hbq</cn> 
  <realname>hbq</realname> 
  <mailquota>102400</mailquota> 
  <creator>hbq</creator> 
  <createtime>2003-05-09</createtime> 
  <accountstatus>active</accountstatus> 
 </user>
 <user>
  <num>3</num>
  <cn>sammiewang</cn> 
  <realname>sammiewang</realname> 
  <mailquota>102400</mailquota> 
  <creator>demo1</creator> 
  <createtime>2003-05-09</createtime> 
  <accountstatus>active</accountstatus> 
 </user>
 <user>
  <num>4</num>
  <cn>hbq01</cn> 
  <realname>hbq</realname> 
  <mailquota>10240</mailquota> 
  <creator>demo1</creator> 
  <createtime>2003-05-12</createtime> 
  <accountstatus>active</accountstatus> 
 </user>
</list>

我对mailquota字段的排序文件的内容如下:
<?xml version="1.0"?>
<users>
  <xsl:for-each order-by="mailquota" select="user" xmlns:xsl="http://www.w3.org/TR/WD-xsl">
    <user>
        <num><xsl:value-of select="num"/></num>
        <cn><xsl:value-of select="cn"/></cn>
        <realname><xsl:value-of select="realname"/></realname>
        <mailquota><xsl:value-of select="mailquota"/></mailquota>
        <creator><xsl:value-of select="creator"/></creator>
        <createtime><xsl:value-of select="createtime"/></createtime>
        <accountstatus><xsl:value-of select="accountstatus"/></accountstatus> 
     </user>
  </xsl:for-each>
</users>
请问如何修改这个xsl文件才能实现对“mailquota”字段按数字大小进行排序,谢谢!!
知道的帮个忙,不知道的帮忙顶一下!!谢谢 各位大虾

---------------------------------------------------------------

try

order-by="number(mailquota)"


note, you should use XSLT
---------------------------------------------------------------

我试了order-by="number(mailquota)"但是不行,提示错误是“无效的函数调用”,我不会用XSLT,你能指点一下嘛?谢谢!!
---------------------------------------------------------------

思归的方法正确:


<?xml version="1.0"?>
<xsl:stylesheet version="1.0"  xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<users>
  <xsl:apply-templates select="/list/user" order-by="number(mailquota)"/>
</users>
</xsl:template>
<xsl:template match="user">
<user>
        <num><xsl:value-of select="num"/></num>
        <cn><xsl:value-of select="cn"/></cn>
        <realname><xsl:value-of select="realname"/></realname>
        <mailquota><xsl:value-of select="mailquota"/></mailquota>
        <creator><xsl:value-of select="creator"/></creator>
        <createtime><xsl:value-of select="createtime"/></createtime>
        <accountstatus><xsl:value-of select="accountstatus"/></accountstatus> 
     </user>
</xsl:template>
</xsl:stylesheet>



---------------------------------------------------------------

for XSLT, try


<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:template match="/">
<users>
  <xsl:for-each select="/list/user">
   <xsl:sort select="mailquota" data-type="number" />
    <user>
        <num><xsl:value-of select="num"/></num>
        <cn><xsl:value-of select="cn"/></cn>
        <realname><xsl:value-of select="realname"/></realname>
        <mailquota><xsl:value-of select="mailquota"/></mailquota>
        <creator><xsl:value-of select="creator"/></creator>
        <createtime><xsl:value-of select="createtime"/></createtime>
        <accountstatus><xsl:value-of select="accountstatus"/></accountstatus>
     </user>
  </xsl:for-each>
</users>
 </xsl:template>
</xsl:stylesheet>
---------------------------------------------------------------

我试了你的方法,在html中调用没有显示的结果,好像xsl根本没有把数据调用进去。
---------------------------------------------------------------

怎么在html中调用这个xslt文件啊,我是新手,希望得到指点!!
---------------------------------------------------------------

各位大侠来帮帮忙啊,拜托了,在线等候啊!!!!

----------




推荐文章
联盟网站

浙ICP备 :07003766号 Copyright © 2001-2007 JUBAO163,All rights reserved.