【发布时间】:2014-04-23 18:16:15
【问题描述】:
我有一个脚本扫描名称/值对 xml 并填充值以供将来翻译的需求。
这是一个示例 Test.xml
<?xml version="1.0" encoding="UTF-8"?>
<consumer>
<name>Sprint-1</name>
<value>1.0.0, 1.0.1</value>
<name>Sprint-2</name>
<value>1.1.0, 1.1.1</value>
<name>Sprint-3</name>
<value>1.2.0, 1.2.1</value>
</consumer>
这是我的 ant 脚本:
<xmlproperty file="Test.xml" collapseAttributes="true"/>
<for list="${consumer.name}" param="letter" delimiter=",">
<sequential>
<echo>@{letter}</echo>
</sequential>
</for>
<for list="${consumer.value}" param="string" delimiter=",">
<sequential>
<echo>@{string}</echo>
</sequential>
</for>
输出:
[echo] Sprint-1
[echo] Sprint-2
[echo] Sprint-3
[echo] 1.0.0
[echo] 1.0.1
[echo] 1.1.0
[echo] 1.1.1
[echo] 1.2.0
[echo] 1.2.1
很明显,输出不包含任何“,”分隔值,因为 ANT 通过使用默认的“,”分隔符分隔输入值来标记输入值。
想知道我们是否可以覆盖ant中的“,”分隔符,以便默认情况下它使用类似“|”的东西同时从 xml 文件中扫描值?
那么我可以使用:
for list="${consumer.value}" param="string" delimiter="|"
ANTXtras 似乎提供了这个功能,但我无法让它工作:(
感谢您的帮助。
谢谢, 桑迪普
【问题讨论】:
-
不分隔符="|"工作吗?
-
@MarkO'Connor 感谢马克的输入!只是我之前没有想到下面的变化就像一个魅力。
标签: xml ant ant-contrib