我有一个XML文件,它看起来是这样的:蚂蚁 - XmlTask - Xpath的谓词的xmlns
<?xml version="1.0" encoding="UTF-8"?>
<Profile xmlns="http://soap.sforce.com/2006/04/metadata">
<applicationVisibilities>
<application>SomeApp</application>
<default>true</default>
<visible>true</visible>
</applicationVisibilities>
<applicationVisibilities>
<application>AnotherApp</application>
<default>false</default>
<visible>true</visible>
</applicationVisibilities>
<applicationVisibilities>
<application>YetAnotherApp</application>
<default>false</default>
<visible>true</visible>
</applicationVisibilities>
...
</Profile>
在Ant任务,我想挑选出具有默认设置为true的任何元素,并改变它们假。我几乎可以到达那里:
<target name="resetApps">
<xmltask todir="stage/deploy/profiles/">
<fileset id="fileset" dir="stage/profiles/">
<include name="**/*.profile"/>
</fileset>
<replace path="//*[local-name()='applicationVisibilities']/*[local-name()='default']/text()" withText="false"/>
</xmltask>
</target>
(这只是将它们设置所有为false,无论内设置的)
然后,我要设置“SomeApp”为默认值= TRUE。
同样,我几乎可以到达那里,如果我没有指定本地名称():
<replace path="/Profile/applicationVisibilities[application='SomeApp']/default/text()" withText="true"/>
那么,如何结合本地名称()与谓词拉出东西“SomeApp”?
我不熟悉的蚂蚁,但因为它似乎是所有关于XML操作,我认为它必须提供一种方法与命名空间合作正常。请看看如何做到这一点。 – JLRishe 2014-09-30 12:56:29