2013-05-20 3 views
0

У меня есть файл XML в том, что я хочу, чтобы добавить XML сказатьAnt задача проверить, что XML-узел существует в XML-файле

<car name="BMW"> 
    <color>Red</color> 
    <model>x3</model> 
    </car> 

Я хотел бы проверить, если узел уже существует, то я хочу, чтобы обновить этот otheriwse хотел Добавить новое.

Я очень новичок в ant xmltask, поэтому мой вопрос может быть очень простым.

С уважением, Авинаш Nigam

ответ

1

используя дополнительный корневой тег <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> 
Смежные вопросы