I'd generate CSV per XML file first, then concatenate the CSV output; concatenating the Xml files would result in invalid XML unless you created a new root document element.
In "plain" java, you're essentially going to need to parse each XML document into memory and select which fields you want to output as CSV, and write that output code.
However, this is an ideal job for XSLT, which can be invoked either from Java or from an ant task. An XSL template in text mode can select values from the XML document and write them out as CSV.
This has been described here: XML to CSV Using XSLT