tag xml for - jmr-source/doc GitHub Wiki

xml:for - xml循环迭代

<xml:for>

循环遍历Xml节点

说明

遍历子Xml节点,使用Xpath表达式得到需要遍历的节点。

属性

select(必须)
使用Xpath表达式得到Xml循环的节点
var(必须)
存储集合的遍历对象
status(可选)
设置变量,存储循环信息
符号    描述
count   循环总次数
index   当前循环索引
isFirst 当前循环是否为头索引
isLast  当前循环是否为尾索引
trim(可选)
是否保留输出值的前后空白字符

属性
false:保留输出值的前后空白字符(默认)
true:删除输出值的前后空格(包括换行符)
delimiter(可选)
循环输出之间的分隔符

###例子位置:###

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

循环规则

select属性中,使用Xpath表达式得到被遍历的Xml节点,在var属性中,设置遍历的对象。

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

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

这是一个xml文件

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

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

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

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

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

得到需要遍历的父节点bookstore,并设置为新变量。

$bookstore/book,得到名为book的所有节点集合,并设置遍历对象each,循环输出book的title值。

运行结果

循环信息status

符号    描述
count   循环总次数
index   当前循环索引
isFirst 当前循环是否为头索引
isLast  当前循环是否为尾索引
以下设置status变量s,输出它循环的信息。

结果

trim使用方法

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

以下2个输出方式,一种默认trim="false",另一种trim="true"。

可以看出,第一种方式原样输出,包括前后的空格和换行符,另一种去除了空格和换行符。

delimiter使用方法

delimiter循环输出之间的分隔符,如果指定了分隔符,则输出元素间只按分隔符分割,而不在按原来的格式。

运行结果

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