gpt4 book ai didi

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

转载 作者:数据小太阳 更新时间:2023-10-29 02:11:22 24 4
gpt4 key购买 nike

我一直在寻找这个问题的答案,但没有成功。我确定我在某处忽略了答案。但是,我正在尝试将 xml 值的子集打印/显示为逗号分隔列表。这是我正在尝试做的一个例子;

XML 文档。

<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 文档..

<?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>

所以,在这个例子中,我想选择所有"new"汽车并将它们放在一个逗号分隔的列表中,并且在列表中的最后一项之后没有逗号。

我不能使用 xsl:if test="position() != last()> 因为“最后”"new"汽车的位置可能不是“最后”位置在 xml 中。我希望在 xml 1.0 版中完成此操作。

有什么建议或想法吗?提前致谢!

示例输出:

2012 Ford Mustang, 2012 Chevy Camaro, 2012 Subaru Impreza

最佳答案

使用

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

而不是全部获取并使用 if 测试。然后你可以使用 last()。

关于xml - 如何制作逗号分隔的 xml 值列表? xml 版本 1.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8178238/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com