2012-04-03 2 views
2

Я имею следующую структуру XML:Ant: Перебор узлов XML-файла

<servers> 
    <hostname>ABC01</hostname> 
    <hostname>ABC02</hostname> 
</servers> 

Мне нужно получить файл с каждого сервера, из папки я знаю, прикрепить его к электронной почте, а затем отправить его ,

Каким будет подход для этого?

Спасибо.

ответ

2

Используйте файл xmlproperty task для загрузки XML-файла в свойства.

Затем используйте for task от ant-contrib, чтобы действовать на каждое из согласованных свойств.

Что-то вроде:

<target name="funtimes"> 
    <xmlproperty file="the.xml" delimiter=","/> 
    <for list="${servers.hostname}" param="hostname"> 
     <sequential> 
      <echo>Doing things with @{hostname}</echo> 
     </sequential> 
    </for> 
</target> 

Извлечение файлов зависит от того, как вы собираетесь получить к ним доступ. Может помочь scp task.

Для отправки сообщения электронной почты вы можете использовать mail task.

+0

Что я имею в виду для сбора файлов, копирует их один за другим в локальную общую папку, используя задачу for, которую вы объяснили мне ранее. И затем в почтовой задаче, прикрепляя их к электронной почте, помещая их все вместе в FileSet. Я новичок в Ant, и я делаю некоторые исследования, чтобы увидеть, возможно ли это :). – bruneti12