如何制作以逗号分隔的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(). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |