I can use a dynamic XML mapping as a PrivotTable's data source now.
See Excel -- Pivot Tables -- Dynamic Data Source
(
http://www.contextures.com/xlPivot01.html).
I do it in the following steps.
1. Put the XML in a worksheet named Data.
2. Define a named range called ReportData.
3. Create a PivotTable and specify the named range ReportData as its
data source.
4. Every time the external XML data is generated or changed, refresh
XML data, then refresh PivotTable Data.
Thanks!