Xml 在重复元素中展开重复元素
我想在某种程度上转换xml中的重复元素 假设我有以下几点:Xml 在重复元素中展开重复元素,xml,xslt,Xml,Xslt,我想在某种程度上转换xml中的重复元素 假设我有以下几点: <row> <id>1</id> <key>value1</key> <key>value2</key> </row> <row> <id>1</id> <key>value1</key>
<row>
<id>1</id>
<key>value1</key>
<key>value2</key>
</row>
<row>
<id>1</id>
<key>value1</key>
</row>
<row>
<id>1</id>
<key>value2</key>
<entitlementKeys>
<row>
<id>610AN02611</id>
<entitlementKey>IsoCountryNumber</entitlementKey>
<id>610AN02611</id>
<entitlementKey>ProductType</entitlementKey>
<id>610AN02611</id>
<entitlementKey>SerialNumber</entitlementKey>
</row>
<row>
<id>610AN02671</id>
<entitlementKey>IsoCountryNumber</entitlementKey>
<id>610AN02671</id>
<entitlementKey>ProductType</entitlementKey>
<id>610AN02671</id>
<entitlementKey>SerialNumber</entitlementKey>
</row>
我想应用样式表将其转换为以下内容:
<row>
<id>1</id>
<key>value1</key>
<key>value2</key>
</row>
<row>
<id>1</id>
<key>value1</key>
</row>
<row>
<id>1</id>
<key>value2</key>
<entitlementKeys>
<row>
<id>610AN02611</id>
<entitlementKey>IsoCountryNumber</entitlementKey>
<id>610AN02611</id>
<entitlementKey>ProductType</entitlementKey>
<id>610AN02611</id>
<entitlementKey>SerialNumber</entitlementKey>
</row>
<row>
<id>610AN02671</id>
<entitlementKey>IsoCountryNumber</entitlementKey>
<id>610AN02671</id>
<entitlementKey>ProductType</entitlementKey>
<id>610AN02671</id>
<entitlementKey>SerialNumber</entitlementKey>
</row>
我就是搞不懂=\
这是我尝试应用的样式表:
<xsl:variable name = "srcDoc1" select = "bpws:getVariableData('xmlChisData')"/>
<xsl:template match = "/">
<xsl:element name = "entitlementKeys" namespace = "">
<xsl:for-each select = "$srcDoc1/Json/array">
<xsl:element name = "row" namespace = "">
<xsl:variable name = "varID" select = "id"/>
<xsl:for-each select ="entitlementKeys">
<xsl:element name = "id" namespace = "">
<xsl:value-of select = "$varID"/>
</xsl:element>
<xsl:element name = "entitlementKey" namespace = "">
<xsl:value-of select = "."/>
</xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:template>
但是,这会产生以下结果:
<row>
<id>1</id>
<key>value1</key>
<key>value2</key>
</row>
<row>
<id>1</id>
<key>value1</key>
</row>
<row>
<id>1</id>
<key>value2</key>
<entitlementKeys>
<row>
<id>610AN02611</id>
<entitlementKey>IsoCountryNumber</entitlementKey>
<id>610AN02611</id>
<entitlementKey>ProductType</entitlementKey>
<id>610AN02611</id>
<entitlementKey>SerialNumber</entitlementKey>
</row>
<row>
<id>610AN02671</id>
<entitlementKey>IsoCountryNumber</entitlementKey>
<id>610AN02671</id>
<entitlementKey>ProductType</entitlementKey>
<id>610AN02671</id>
<entitlementKey>SerialNumber</entitlementKey>
</row>
我不知道如何让每一个单独排成一行
XML
XSLT
你到底在哪里被困?这是一个相当琐碎的问题:为每个key.updated OP创建一行……我不知道是什么让这个问题变得琐碎不幸的是,我不是xslt/xml专家,可能与