在xsl中,我们可以在循环“for each”中写入两个条件。例如,而不是xsl:for-each select =:两个条件
<xsl:when test="/document/line[
(substring(field[@id='0'], 1,3)='MAR')
] and
/document/line[
contains(substring(field[@id='0'],123,4),'0010')
]">
,我们可以把它写:
<xsl:for-each select="/document/line[
contains(substring(field[@id='0'], 1,3),'MAR')
] and
/document/line[
contains(substring(field[@id='0'],123,4),'0010')
]">
问候
从评论
<xsl:for-each select="/document/line[
contains(substring(field[@id='0'], 1,3),'MAR')
and contains(substring(field[@id='0'],123,4),'0010')
]">
的也许它是正确的? –
Petras
2011-03-02 08:08:41
我无法测试它,但我会说在你的评论中的方法是正确的,而你的文章中的方法不是。您不能在'select'中选择两个XPath表达式,而您可以在XPath表达式中使用'and'运算符。 – MarcoS 2011-03-02 08:45:35
第二个是正确的。感谢您的回答,我牢记在心。 – Petras 2011-03-02 09:13:02