我里面有 xml 文件,我想添加 xml 说
<car name="BMW">
<color>Red</color>
<model>x3</model>
</car>
我想检查节点是否已经存在,然后我想更新这个,否则想添加新的。
我对 ant xmltask 很陌生,所以我的问题可能很简单。
关于,Avinash Nigam
我里面有 xml 文件,我想添加 xml 说
<car name="BMW">
<color>Red</color>
<model>x3</model>
</car>
我想检查节点是否已经存在,然后我想更新这个,否则想添加新的。
我对 ant xmltask 很陌生,所以我的问题可能很简单。
关于,Avinash Nigam
为您的示例使用额外的根标记<foo></foo>
(插入操作需要),
您可以使用 xmltask =
<!-- edit file in place, use other dest if you need to create a new file -->
<xmltask source="path/to/file.xml" dest="path/to/file.xml">
<!-- create property if car node with name='BMW' exists -->
<copy path="//car[@name='BMW']/text()" property="modelexists"/>
<!-- insert new car node if car node with name='BMW' doesn't exist -->
<insert path="/foo" unless="modelexists">
<![CDATA[
<car name="BMW">
<color>Red</color>
<model>x3</model>
</car>
]]>
</insert>
<!-- replace car node if car node with name='BMW' exists -->
<replace path="//car[@name='BMW']" if="modelexists">
<![CDATA[
<car name="BMW">
<color>Blue</color>
<model>x4</model>
</car>
]]>
</replace>
</xmltask>