2
태그 이름과 상관없이 xml 태그 값을 계산해야하는 시나리오가 있습니다. 다음은 내 XML은, 여기에 내가 XPath는 // 출력에서 G, Y, R의 발생 수를 계산해야하는 XSLT를 사용하여 태그 이름과 상관없이 xml 태그 값 계산
<?xml version="1.0" encoding="UTF-8"?>
<output>
<result>
<value>
<color1>G</color1>
<color2>Y</color2>
</value>
<value>
<color1>Y</color1>
<color2>R</color2>
</value>
</result>
<result>
<value>
<color1>G</color1>
<color2>R</color2>
</value>
<value>
<color1>Y</color1>
<color2>R</color2>
</value>
</result>
</output>
- 이/
// 출력/결과 내부의 값을 결과입니다해야 남아서 출력에 추가 할 수 있습니다. 아래는 내가 사용하는 XSLT이지만, 항상 원하는 출력은 다음과 같습니다
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0">
<xsl:template match="/">
<output>
<xsl:for-each select="//output/result">
<result>
<green><xsl:value-of select="count(/value[./color[*]='G'])" /></green>
<red><xsl:value-of select="count(/value[./color[*]='R'])" /></red>
<yellow><xsl:value-of select="count(/value[./color[*]='Y'])" /</yellow>
<xsl:value-of select="." />
</result>
</xsl:for-each>
</output>
</xsl:template>
</xsl:stylesheet>
0으로 계산 제공합니다.
<?xml version="1.0" encoding="UTF-8"?>
<output>
<result>
<GreenCount>1</GreenCount>
<RedCount>1</RedCount>
<YellowCount>2</YellowCount>
<value>
<color1>G</color1>
<color2>Y</color2>
</value>
<value>
<color1>Y</color1>
<color2>R</color2>
</value>
</result>
<result>
<GreenCount>1</GreenCount>
<RedCount>2</RedCount>
<YellowCount>1</YellowCount>
<value>
<color1>G</color1>
<color2>R</color2>
</value>
<value>
<color1>Y</color1>
<color2>R</color2>
</value>
</result>
</output>
당신에게 너무 많은 짐 감사합니다. –