如何替换xml属性值?

时间:2012-12-11 23:12:48

标签: xml ant

我正在寻找一种更新xml文件属性值的方法。例如,以下xml我想用另一个值替换属性android:versionCode30003。我很难理解蚂蚁如何使用替换或正则表达式来做到这一点。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.app.see"
    android:installLocation="auto"
    android:versionCode="30003"
    android:versionName="@string/app_version" >
</manifest>

1 个答案:

答案 0 :(得分:4)

如果真的那么简单,你可以使用 replaceregexp

<property name="newVersionCode" value="30004"/>
<replaceregexp file="${src}/AndroidManifest.xml"
               match='(android:versionCode=").*(")'
               replace="\1${newVersionCode}\2"
               byline="true"
/>

否则,您应该考虑使用 XSLT task 。您可能希望将原始文件复制到临时目录中,然后应用将新值指定为参数的样式表,并在原始清单上生成输出。