我有以下xml:
<?xml version="1.0" encoding="UTF-8"?>
<abc1 formName="Form">
<Level1>
<Element1>ZZZ</Element1>
<Element2>
<SubElement1>Apples</SubElement1>
<SubElement2>Oranges</SubElement2>
<SubElement3>Pears</SubElement3>
<SubElement4>Blueberries</SubElement4>
<SubElement5>Milkshakes</SubElement5>
</Element2>
</Level1>
<Level1>
<Element1>XXX</Element1>
<Element2>
<SubElement1>Apples</SubElement1>
<SubElement2>Oranges</SubElement2>
<SubElement3>Kiwifruit</SubElement3>
<SubElement4>Blueberries</SubElement4>
<SubElement5>Soda</SubElement5>
</Element2>
</Level1>
</abc1>
我需要做的是查看某些节点中的值,确定它们是否不同,如果不同,则编写一些不同的 html 代码,每个部分之间有一个分页符。
所以,我需要比较这些<Element1>
值,看看它们是否不同。这些<Element1>
值可以是任何文本,并且<Element1>
xml 中的标签数量可以是无限的。
所以在这种情况下,我们有两个不同<Element1>
的值:“ZZZ”和“XXX”。
因此,如果有两个“”,则如下所示:
<xsl:choose>
<xsl:when test="differentvalues = 'true'">
<!-- SomeHTMLCode!-->
<p style="page-break-after: always"/>
<!-- SomeHTMLCode!-->
</xsl:when>
<xsl:otherwise><!-- SomeHTMLCode!--></xsl:otherwise>
</xsl:choose>
但是使用for循环搜索xml,以及类似的东西
<xsl:choose>
<xsl:when test="differentvalues = 'true'">
<!-- SomeHTMLCode!-->
<p style="page-break-after: always"/>
<!-- SomeHTMLCode!-->
<p style="page-break-after: always"/>
<!-- SomeHTMLCode!-->
</xsl:when>
<xsl:otherwise><!-- SomeHTMLCode!--></xsl:otherwise>
</xsl:choose>
如果存在三个不同的</Element1>
值。
我什至不确定这是否可以做到。提前感谢您为我提供的任何帮助。