有人可以帮助我在节点INDIC中获得不同的属性ID值吗?
说明:
我使用的是xslt版本1。
这是我的xml的样子:
<Results><Result>
<INDICS>
<INDIC ID="I000207" LIB="A"/>
<INDIC ID="I000208" LIB="B"/>
<INDIC ID="I999999" LIB="C"/>
</INDICS>
</Result>
<Result>
<INDICS>
<INDIC ID="I000207" LIB="A"/>
<INDIC ID="I000208" LIB="B"/>
<INDIC ID="I999999" LIB="C"/>
</INDICS>
</Result>
这是我的模板的样子,我的模板显示所有ID
<xsl:template match="/">
<xsl:variable name="INDICS" select="//INDIC"/>
<PRODUITS>
<INDICS>
<xsl:for-each select="//Results/Result/INDICS/INDIC/@ID">
<INDIC ID= "{.}" LIB="{$INDICS[@ID=current()]/@LIB}" />
</xsl:for-each>
</INDICS>
</PRODUITS>
</xsl:template>
我得到的输出是:
<PRODUITS>
<INDICS>
<INDIC ID="I000207" LIB="A"/>
<INDIC ID="I000208" LIB="B"/>
<INDIC ID="I999999" LIB="C"/>
<INDIC ID="I000207" LIB="A"/>
<INDIC ID="I000208" LIB="B"/>
<INDIC ID="I999999" LIB="C"/>
<INDICS/>
</PRODUITS>
我试图获得的输出是:
<PRODUITS>
<INDICS>
<INDIC ID="I000207" LIB="A"/>
<INDIC ID="I000208" LIB="B"/>
<INDIC ID="I999999" LIB="C"/>
<INDICS/>
</PRODUITS>
非常感谢。
答案 0 :(得分:2)
链接的问题中使用的另一种可能性是使用xsl:key
和generate-id()
函数。这是所谓的Muenchian Grouping
的一种变体。
<xsl:key name="values" match="INDIC" use="@ID"/>
<xsl:template match="/">
<PRODUITS>
<INDICS>
<xsl:for-each select="//Results/Result/INDICS/INDIC[generate-id() = generate-id(key('values',@ID)[1])]">
<INDIC ID= "{@ID}" LIB="{@LIB}" />
</xsl:for-each>
</INDICS>
</PRODUITS>
</xsl:template>
答案 1 :(得分:0)
您可以这样做,希望这段代码可以帮助您解决问题:
{
"apiVersion": "1.0",
"context": "123",
"method": "getViewConfiguration"
}