Input xmlXSLT sáp nhập/concatenating giá trị của anh chị em các nút của cùng tên vào nút đơn
<catalog>
<product id="1">
<name>abc</name>
<category>aaa</category>
<category>bbb</category>
<category>ccc</category>
</product>
<product id="2">
<name>cde</name>
<category>aaa</category>
<category>bbb</category>
</product>
</catalog>
Dự kiến Output xml
<products>
<product>
<id>1</id>
<name>abc</name>
<category>aaa,bbb,ccc</category>
</product>
<product>
<id>2</id>
<name>cde</name>
<category>aaa,bbb</category>
</product>
</products>
XSLT để chuyển đổi
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/catalog">
<products>
<xsl:for-each select="product">
<product>
<id><xsl:value-of select="@id"/></id>
<name><xsl:value-of select="name"/></name>
<category><xsl:value-of select="category" /></category>
</product>
</xsl:for-each>
</products>
</xsl:template>
</xsl:stylesheet>
thực tế Output xml: (
<products>
<product>
<id>1</id>
<name>abc</name>
<category>aaa</category>
</product>
<product>
<id>2</id>
<name>cde</name>
<category>aaa</category>
</product>
</products>
Mã cần thiết trong vòng lặp qua tất cả nút anh chị em bằng tên 'danh mục' trong mỗi 'sản phẩm' và hợp nhất/ghép vào một nút riêng biệt bằng dấu phẩy. Số lượng 'danh mục' khác nhau đối với mỗi sản phẩm và do đó số lượng không xác định.
Ah có, phiên bản 1.0 và phiên bản biểu định kiểu xslt của nó nói như vậy. – user1677271
Số phiên bản trên biểu định kiểu cho chúng tôi biết về khả năng của bộ xử lý XSLT bạn đang sử dụng hoặc khả năng của dự án để chuyển sang bộ xử lý cập nhật hơn. –