可以在XML排序和搜索中实现类似于SQL中的select ... order by ...的功能,谢谢!

解决方案 »

  1.   

    只能自己写 SQL 语法解析器了。
      

  2.   

    这个事情和VC有什么关系。对于XML的操作,你应该去看xpath和xquery。
      

  3.   

    你可以用xslt,xsl:sort元素是用来排序的。
      

  4.   


    <?xml version="1.0" encoding="utf-8"?>
    <xxmx>
      <options id="2">
        <option lable="请选择" value=""/>
        <option lable="或有负债" value="8"/>
        <option lable="长期负债" value="7"/>
        <option lable="流动负债" value="6"/>
        <option lable="无形动产" value="5"/>
        <option lable="无形不动产" value="4"/>
        <option lable="不动产" value="3"/>
        <option lable="有形动产" value="2"/>
        <option lable="财务资产" value="1"/>
      </options>
      <options id="10">
        <option lable="请选择" value=""/>
        <option lable="文件" value="9"/>
        <option lable="自定义选择" value="8"/>
        <option lable="从库中选择" value="7"/>
        <option lable="密码域" value="6"/>
        <option lable="文本区域" value="5"/>
        <option lable="单选域" value="4"/>
        <option lable="单选域(手工)" value="41"/>
        <option lable="复选域" value="3"/>
        <option lable="选择域" value="2"/>
        <option lable="文本字段" value="1"/>
        <option lable="隐藏域" value="99"/>
        <option lable="从库中复选域" value="32"/>
        <option lable="自定复选域" value="31"/>
        <option lable="选择域(可选)" value="21"/>
        <option lable="选择域(手工)" value="22"/>
      </options>
    </xxmx>
    <?xml version="1.0"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:template match="/">
      <html>
        <title>
          排序后文件
        </title>
        <body>
          <![CDATA[<?xml version="1.0" encoding="utf-8"?>]]>
          <br/>
          <![CDATA[<xxmx>]]>
          <br/>
          <xsl:for-each select="/xxmx/options">
            <![CDATA[<options id="]]><xsl:value-of select="@id"/><![CDATA[">]]><br/>
            <xsl:for-each select="option">
              <xsl:sort data-type="number" order="ascending" select="@value"/>
              <![CDATA[<option lable ="]]><xsl:value-of select="@lable"/><![CDATA[" value ="]]><xsl:value-of select="@value" /><![CDATA["/>]]>
              <br/>
            </xsl:for-each>
            <![CDATA[</options>]]>
            <br/>
          </xsl:for-each>
          <![CDATA[</xxmx>]]>
        </body>
      </html>
    </xsl:template>
    </xsl:stylesheet>排序后:<?xml version="1.0" encoding="utf-8"?>
    <xxmx>
    <options id="2">
    <option lable ="请选择" value =""/>
    <option lable ="财务资产" value ="1"/>
    <option lable ="有形动产" value ="2"/>
    <option lable ="不动产" value ="3"/>
    <option lable ="无形不动产" value ="4"/>
    <option lable ="无形动产" value ="5"/>
    <option lable ="流动负债" value ="6"/>
    <option lable ="长期负债" value ="7"/>
    <option lable ="或有负债" value ="8"/>
    </options>
    <options id="10">
    <option lable ="请选择" value =""/>
    <option lable ="文本字段" value ="1"/>
    <option lable ="选择域" value ="2"/>
    <option lable ="复选域" value ="3"/>
    <option lable ="单选域" value ="4"/>
    <option lable ="文本区域" value ="5"/>
    <option lable ="密码域" value ="6"/>
    <option lable ="从库中选择" value ="7"/>
    <option lable ="自定义选择" value ="8"/>
    <option lable ="文件" value ="9"/>
    <option lable ="选择域(可选)" value ="21"/>
    <option lable ="选择域(手工)" value ="22"/>
    <option lable ="自定复选域" value ="31"/>
    <option lable ="从库中复选域" value ="32"/>
    <option lable ="单选域(手工)" value ="41"/>
    <option lable ="隐藏域" value ="99"/>
    </options>
    </xxmx>