1

考虑到以下 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>
4

1 回答 1

1

首先,我们假设您的 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>
于 2014-09-28T19:04:51.940 回答