<p>您正在循环<code>param</code>,这是一个由3个元素组成的列表:</p>
<pre><code>param = [3, 'ieee', 3]
</code></pre>
<p>对于每个值,您将创建<em>3个元素</em>:</p>
^{pr2}$
<p>所以你的产出完全是预期的。在</p>
<p>完全移除循环,只需将3个元素插入3个单独的标记中:</p>
<pre class="lang-xml prettyprint-override"><code><vr>
<vrId>0</vrId>
<bridge>
<bridgeId>{{ param[0] }}</bridgeId>
<bridgeType>{{ param[1] }}</bridgeType>
<bridgeId>{{ param[2] }}</bridgeId>
</bridge>
</vr>
</code></pre>
<p>不过,你可能会用字典来命名元素:</p>
<pre><code>param = {'id1': 3, 'type': 'ieee', 'id2': 3}
</code></pre>
<p>以及</p>
<pre class="lang-xml prettyprint-override"><code><vr>
<vrId>0</vrId>
<bridge>
<bridgeId>{{ param.id1 }}</bridgeId>
<bridgeType>{{ param.type }}</bridgeType>
<bridgeId>{{ param.id2 }}</bridgeId>
</bridge>
</vr>
</code></pre>
<p>或者,如果您需要生成多个<code>bridgeId</code>和*可选的和相应的<code>bridgeType</code>标记,也许您需要一个<em>字典列表</em>:</p>
<pre><code>param = [{'id1': 3, 'type': 'ieee'}, {'id2': 3}]
</code></pre>
<p>注意,第二个字典在这里没有<code>'type'</code>键。然后渲染变成:</p>
<pre class="lang-xml prettyprint-override"><code><vr>
<vrId>0</vrId>
<bridge>
{% for entry in param -%}
<bridgeId>{{ entry.id }}</bridgeId>
{% if entry.type %}<bridgeType>{{ entry.type }}</bridgeType>{% endif %}
{% endfor -%}
</bridge>
</vr>
</code></pre>