我有一个包含以下内容的 XML 文件:
<root-tag>
<entry name="name1" value="/usr/bin" />
<entry name="full_path" value="${name2}" />
<entry name="name2" value="${name1}/dpkg" />
</root-tag>
我想在 Ant 中读取这个文件,并将值为“full_path”value
的<entry>
节点中的属性值放入 Ant 的属性中。name
我可以很容易地做到这一点,例如使用<xmltask>
它的<copy>
元素:
<copy path="root-tag/entry[@name='full_path']/@value" property="outputProperty" />
但是,我得到的是${name2}
,这对我来说毫无意义。我需要${name2}
解析为${name1}/dpkg
,然后将${name1}
部分解析为/usr/bin
,结果,/usr/bin/dpkg
。
而且我必须寻找“full_path”,因为无法预测其他两个名称。
由于这不是实体引用,<xmltask>
因此无法自动展开它。
我应该如何在 Ant 构建文件中实现我的目标?