2012-04-03 4 views
2

Ich habe die folgende XML-Struktur:Ant: Iterieren durch einen Knoten des XML-Datei

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

Ich brauche eine Datei von jedem Server abgerufen werden, aus einem Ordner Ich weiß, hängen Sie es an eine E-Mail und dann schicken .

Was wäre der Ansatz dafür?

Danke.

Antwort

2

Verwenden Sie die xmlproperty task, um eine XML-Datei in Eigenschaften zu laden.

Verwenden Sie dann die von ant-contrib, um auf jede der übereinstimmenden Eigenschaften einzuwirken.

Etwas wie:

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

Dateien Fetching hängt davon ab, wie Sie auf sie zuzugreifen planen. Die scp task könnte helfen.

Zum Senden von E-Mail können Sie die mail task verwenden.

+0

Was ich zum Abrufen der Dateien im Sinn habe, ist, sie einzeln in einen lokalen freigegebenen Ordner zu kopieren, indem ich die for-Aufgabe benutze, die Sie mir zuvor erklärt haben. Und dann, in der Mail-Aufgabe, sie an die E-Mail anfügen sie alle zusammen in einem FileSet. Ich bin neu bei Ant und ich recherchiere, ob das möglich ist :). – bruneti12