我有一個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