基于ID排序XML数据,通过XSL仅输出符合条件的comments
调整后的XSL解决方案
以下是满足需求的XSL代码,实现筛选含"EDI"的评论、按ID排序并仅输出评论内容:
<xsl:for-each select="CatCom[contains(comments, 'EDI')]"> <!-- 按ID数值升序排序,如需降序添加order="descending" --> <xsl:sort select="ID" data-type="number" /> <DetailNotes> <Note> <xsl:value-of select="comments" /> </Note> </DetailNotes> </xsl:for-each>
关键改动说明
- 筛选逻辑优化:将筛选条件
contains(comments, 'EDI')直接写入for-each的select属性中,替代原有的xsl:if,代码更简洁高效 - 排序实现:通过
<xsl:sort>指定按ID字段的数值类型排序,避免字符串排序导致的顺序错误(比如数字1232和3454的排序问题) - 目标输出:直接输出符合条件的
comments内容,不包含ID字段,生成要求的DetailNotes/Note结构
内容的提问来源于stack exchange,提问作者shadab
相关产品推荐
相关产品推荐

