考虑到以下 XML,如果有许多这样的项目具有不同的名称,我如何使用 Ant 任务XMLTask
来更改 bar 使用 foo 作为过滤器。
<string name="foo">bar</string>
<string name="another">a value goes here</string>
<string name="somethingelse">some other value</string>
首先,我们假设您的 xml 实际上是有效的并包含一个顶级元素,例如
<mydocument>
<string name="foo">bar</string>
<string name="another">a value goes here</string>
<string name="somethingelse">some other value</string>
</mydocument>
<string>
然后,特定元素
的 XPath 表达式为:(//string[@name='foo']
对于值,添加\text()
.
最后,例如,XmlTask 变为:
<xmltask source="source.xml" dest="target.xml">
<replace path="//string[@name='foo']/text()" withText="foobar"/>
</xmltask>