下面是我的输入xml
<Record>
<Header>
<field1/>
</Header>
<Body>
<firstname>x1</firstname>
<lastname>y1</lastname>
<company>Test1</company>
<Body>
<Body>
<firstname>x2</firstname>
<lastname>y2</lastname>
<company></company>
<Body>
<Body>
<firstname>x3</firstname>
<lastname>y3</lastname>
<company>Test2</company>
<Body>
</Record>
我正在尝试遍历正文并检查公司值是否为空白,以输出相应的名字和姓氏。整个输出,我正在使用 xslt 映射器映射到目标上的 DATA。有人可以帮助我使用以下代码这不起作用
<?xml version='1.0' ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns0="Namespace"> <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> <xsl:variable name="NAME" select="/RecordSet/Body"/> <xsl:variable name="break"><br></xsl:variable> <xsl:variable name="tableB"><table Border="1" BorderColor="#000000" cellpadding="4" cellspacing="0" ></xsl:variable> <xsl:variable name="tableE"></table></xsl:variable> <xsl:variable name="trB"><tr></xsl:variable> <xsl:variable name="trE"></tr></xsl:variable> <xsl:variable name="tdB"><td></xsl:variable> <xsl:variable name="tdE"></td></xsl:variable> <xsl:variable name="nbsp">&nbsp;</xsl:variable> <xsl:variable name="thB"><tr BGCOLOR="#CCCCCC"></xsl:variable> <xsl:template match="/"> <DATA> <xsl:value-of select="$tableB"/> <xsl:value-of select="$thB"/> <xsl:value-of select="$tdB"/><B>FirstName</B> <xsl:value-of select="$nbsp"/> <xsl:value-of select="$tdE"/> <xsl:value-of select="$tdB"/><B>LASTNAME </B> <xsl:value-of select="$nbsp"/> <xsl:value-of select="$tdE"/> <xsl:value-of select="$trE"/> <xsl:value-of select="$trB"/> <xsl:for-each select="$NAME/Body[string-length(company) > 0]"> <xsl:value-of select="$tdB"/> <xsl:value-of select="$MT_NAME/firstname"/> <xsl:value-of select="$nbsp"/> <xsl:value-of select="$tdE"/> <xsl:value-of select="$tdB"/> <xsl:value-of select="$MT_NAME/lastname"/> <xsl:value-of select="$nbsp"/> <xsl:value-of select="$tdE"/> <xsl:if test="position() mod 2 = 0"> <xsl:value-of select="$trE"/> </xsl:if> </xsl:for-each> <xsl:value-of select="$tableE"/> </DATA>
输出应该是