加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何制作以逗号分隔的xml值列表? xml版本1.0

发布时间:2020-12-16 22:49:28 所属栏目:百科 来源:网络整理
导读:我找不到运气的答案.我确定我忽略了某个地方的答案.但是,我试图打印/显示xml值的子集作为逗号分隔列表.这是我想要做的一个例子; XML Doc. vehicle car new="y" yr2012/yr makeFord/make modelMustang/model colorBlue/color /car car new="y" yr2012/yr make
我找不到运气的答案.我确定我忽略了某个地方的答案.但是,我试图打印/显示xml值的子集作为逗号分隔列表.这是我想要做的一个例子;

XML Doc.

<vehicle>
  <car new="y">
    <yr>2012</yr>
    <make>Ford</make>
    <model>Mustang</model>
    <color>Blue</color>
  </car>
  <car new="y">
    <yr>2012</yr>
    <make>Chevy</make>
    <model>Camaro</model>
    <color>Red</color>
  </car>
  <car new="y">
    <yr>2012</yr>
    <make>Subaru</make>
    <model>Impreza</model>
    <color>White</color>
  </car>
  <car new="n">
    <yr>2000</yr>
    <make>Toyota</make>
    <model>Tacoma</model>
    <color>Silver</color>
  </car>
  <car new="n">
    <yr>1998</yr>
    <make>Dodge</make>
    <model>Durango</model>
    <color>Green</color>
  </car>
</vehicle>

XSL DOC ..

<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="html"/>
  <xsl:template match="/" >

<html>
  <head>
    <link rel="stylesheet" type="text/css" href="styles2.css" />
  </head>
  <body>
      <h2> New Cars </h2>
      <p>
        <xsl:for-each select="vehicle/car">
        <xsl:sort select="./yr" data-type="text" order="ascending" />
        <xsl:if test="./@new='y'">
        <xsl:value-of select="yr" />
        <xsl:text> </xsl:text>
        <xsl:value-of select="make" />
        <xsl:text> - </xsl:text>
        <xsl:value-of select="model" />
        </xsl:if>
        </xsl:for-each>
      </p>
  </body>
</html>
  </xsl:template>
 </xsl:stylesheet>

因此,在此示例中,我想选择所有“新”汽车并将它们放在逗号分隔列表中,并且在列表中的最后一项之后没有逗号.

我不能使用xsl:if test =“position()!= last()>因为”last“”new“汽车的位置可能不是xml中的”last“位置.我更喜欢这个在xml版本1.0中完成.

任何建议或想法?提前致谢!

示例输出:

2012 Ford Mustang,2012 Chevy Camaro,2012 Subaru Impreza

解决方法

使用

<xsl:for-each select="vehicle/car[@new='y']">

而不是全部使用if测试.然后你可以使用last().

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读