tag xml if - jmr-source/doc GitHub Wiki

xml:if - xml判断

<xml:if>

判断Xml语句块

说明

通过Xpath表达式,判断语句快是否执行,可以配合<xml:elseif>和<xml:else>标签使用

属性

test(必须)
使用Xpath判断条件,结果成立,则运行xml:if块内的代码,否则不运行。

符号
=:等于
!=:不等于
and:与
or:或
trim(可选)
是否保留输出值的前后空白字符

属性
false:保留输出值的前后空白字符(默认)
true:删除输出值的前后空格(包括换行符)

###例子位置:###

  • demo/tag/tag.jmr.xml 任务中的 xml/if/if

判断规则

使用Xpath表达式判断Xml。在test中,输入Xpath表达式,表达式成立,则执行xml:if块内的内容,不成立,则跳过或者进入下个判断语句快(如<xml:elseif>或<xml:else>)。

常用判断符号

=:等于
!=:不等于
and:与
or:或
>:大于
>=:大于等于
<:小于
<=:小于等于

XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。

关于Xpath表达式,请点击参考:Xpath教程

这是一个xml文件

我们将它添加到我们的模型后。

(添加Xml模型的方法请参考:转换xml模型)

在模板中,我们选择这个模型,以便我们能提示出对应的内容。

我们先使用xml标签得到这个Xml对象

关于Xml标签的使用方法请参考:xml标签

我们分别设置变量book1和book2,并使用2个if判断

  • 如果book1的title值等于Harry Potter,则输出This book is Harry Potter。
  • 如果book1的title值等于Harry Potter并且price小于30,则输出I want to buy Harry Potter。

运行结果

trim的用法

判断是否保留输出值的前后空白字符,默认false,也就是说原样输出所有字符。

此例中,我们得到book2的title值,它的值是" Learning XML ",前后都有空格。我们做以下操作:

运行结果

⚠️ **GitHub.com Fallback** ⚠️