Xml 根据条件跳过在XSLT中打印换行符

Xml 根据条件跳过在XSLT中打印换行符,xml,xslt,xslt-2.0,Xml,Xslt,Xslt 2.0,我正在转换下面的XML以生成文本输出。我能够成功地转换XML。然而,有一个额外的新行正在打印,这是不需要在我的情况下。我尝试了不同的方法来避免打印不必要的新行。然而,我没能成功。基本上,我是根据XSLT中的条件打印数据的,如果XSLT中的最后一条记录没有满足该条件,那么新行将保留下来,这是在前一个循环中创建的 下面是我的XML: 3707$113701 2017-02-22T15:15:25.329-08:00 罗伊娜 A. 酿酒商 0 0 0 3707$113702 2017-02-22T

我正在转换下面的XML以生成文本输出。我能够成功地转换XML。然而,有一个额外的新行正在打印,这是不需要在我的情况下。我尝试了不同的方法来避免打印不必要的新行。然而,我没能成功。基本上,我是根据XSLT中的条件打印数据的,如果XSLT中的最后一条记录没有满足该条件,那么新行将保留下来,这是在前一个循环中创建的

下面是我的XML:


3707$113701
2017-02-22T15:15:25.329-08:00
罗伊娜
A.
酿酒商
0
0
0
3707$113702
2017-02-22T15:15:25.329-08:00
乔治
E
丹博
0
0
0
74-6000203-000
白细胞介素
17
100.11
2004.34
3707$113703
2017-02-22T15:15:25.329-08:00
托马斯
B
莫里斯
0
0
0
3707$113705
2017-02-22T15:15:25.329-08:00
格特鲁德
巴顿
0
0
0
74-6000203-000
白细胞介素
17
100.11
2004.34
3707$113704
2017-02-22T15:15:25.329-08:00
罗伊
L
布里塞诺
0
0
0

我可以找到两种方法来解决您的问题

一个

你能移动位置吗=就在xsl foreach循环下面的Last()条件?这将确保它不会打印号码。然而,将有一个额外的新线路,这可能是无害的

两个

使用xsl if-else块。您需要将整个打印代码包装在if-else块中。伪代码将是这样的

if(Position() = Last())
   Print all content without a new line
else
   Print all content with a new line

查看此帖子-

我可以找到两种方法来解决您的问题

一个

你能移动位置吗=就在xsl foreach循环下面的Last()条件?这将确保它不会打印号码。然而,将有一个额外的新线路,这可能是无害的

两个

使用xsl if-else块。您需要将整个打印代码包装在if-else块中。伪代码将是这样的

if(Position() = Last())
   Print all content without a new line
else
   Print all content with a new line
查看此帖子-

我知道新行正在打印,因为发布了()最后() 条件

之所以打印新行,是因为您选择了所有要处理的记录,而不仅仅是来自伊利诺伊州的记录,而且最后处理的记录是来自伊利诺伊州的。因此,仅应用于伊利诺伊州记录的条件将永远不会返回真值

解决方案是只选择伊利诺伊州的记录,即更改:

<xsl:for-each select="wd:Response_Data/wd:EFW2_Year_End_Worker_Filing">

致:


并去掉对状态及其相关变量的
xsl:if
指令检查

我知道新行正在打印,因为发布了()最后() 条件

之所以打印新行,是因为您选择了所有要处理的记录,而不仅仅是来自伊利诺伊州的记录,而且最后处理的记录是来自伊利诺伊州的。因此,仅应用于伊利诺伊州记录的条件将永远不会返回真值

解决方案是只选择伊利诺伊州的记录,即更改:

<xsl:for-each select="wd:Response_Data/wd:EFW2_Year_End_Worker_Filing">

致:



并去掉对状态及其相关变量的
xsl:if
指令检查。

No,这些都与问题无关。No,这些都与问题无关。1。您的输入格式不正确:
没有结束标记。2.下次,请将示例减少到演示问题所需的最小值-请参阅:.1。您的输入格式不正确:
没有结束标记。2.下次,请将您的示例减少到演示问题所需的最低限度-请参阅:。非常感谢Michael。如果条件反射像一个魅力,甚至现在的表现都得到了改善。非常感谢您抽出时间回答我的问题。可以吗。向我推荐一些好的参考资料来提高我的XSLT技能。非常感谢Michael。如果条件反射像一个魅力,甚至现在的表现都得到了改善。非常感谢你的邀请