我有这样的XML:
<?xml version="1.0" encoding="UTF-8"?>
<data>
<result id="344" part="454" ident="345">
<set1>
<name>John</name>
</set1>
<set2>
<year>1972</year>
</set2>
<set3>
<surname>Nash</surname>
</set3>
</result>
<result id="344" part="451" ident="341">
<set1>
<name>Mickey</name>
</set1>
<set2>
<year>1966</year>
</set2>
<set3>
<surname>Donay</surname>
</set3>
</result>
<result id="344" part="454" ident="342">
<set1>
<name>Peter</name>
</set1>
<set2>
<year>1979</year>
</set2>
<set3>
<surname>Riley</surname>
</set3>
</result>
</data>
我正在尝试为每个唯一< set1 / name 和 set3 / surname 获取值< strong {结果 参数,使用<xsl:template match="">
和<xsl:apply-templates />
。此外,我尝试使用xsl:for-each-group
,但所有值都会显示。
我用过:
<xsl:for-each-group select="result" group-by="concat(@id, '+', @part, '+', @ident)">
<xsl:apply-templates />
</xsl:for-each-group>
在此之前我已经创建了模板
<xsl:template match="//set1|//set3">
应用模板后所需的输出:
John Nash
Mickey Donay
Peter Riley
答案 0 :(得分:2)
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:for-each-group select="//result" group-by="concat(@id, '+', @part, '+', @ident)">
<xsl:value-of select="set1/name"/>
<xsl:text> </xsl:text>
<xsl:value-of select="set3/surname"/>
<xsl:text> </xsl:text>
</xsl:for-each-group>
</xsl:template>
</xsl:stylesheet>
返回
John Nash
Mickey Donay
Peter Riley
答案 1 :(得分:1)
如果你想要的是输出每个fig, ax = plt.subplots(figsize=(28, 10))
ax.set_ylim(0, df.max().max()) # setting the upper y_limit to the maximum value in the dataframe
df[["A", "B", "C"]].plot.area(ax=ax)
df["D"].plot.line(ax=ax, color='red')
plt.show()
连接的两个元素,然后执行
result