Solution 1 (Third-party - paid)
If third party solution is feasible, use Simego data synchronization studio https://www.simego.com/solutions/sharepoint-integration. You can setup xml file location to read xml files and set the target as SharePoint library. Finally schedule it in Windows Task Scheduler.
Other solution would be based on customSolution 2 (BCS - XML connector)
BCS supports only SQL Server, WCF, .Net and OData source. So you need to create a XML connector to read xml data and store it in a SharePoint list. The brief outline is below and detail is here.
- Create a Class Library project in Visual Studio.
- Create a class and implement ISystemUtility interface from in Microsoft.BusinessData assembly.
- Build the project and deploy the dll to GAC (c:\windows\assembly). Restart IIS
- Create a BCS model and upload it to central admin.
Sample C# code for XML connector
public class XMLConnector : ISystemUtility
{
public void ExecuteStatic(IMethodInstance mi,
ILobSystemInstance si,
object[] args,
IExecutionContext context)
{
switch (mi.MethodInstanceType)
{
//Single product view
case MethodInstanceType.SpecificFinder:
int id = (int)args[0];
args[1] = GetProduct(id);
break;
//Product Listing
case MethodInstanceType.Finder:
args[args.Length - 1] = GetProducts();
break;
}
}
}
Sample BCS model
<Properties>
<Property Type="System.String" Name="SystemUtilityTypeName">ClassLibraryProject.XMLConnector, ClassLibraryProject, Version=1.0.0.0, Culture=neutral, PublicKeyToken=3c36ccc14bfdf0d2
</Property>
</Properties>
<LobSystemInstances>
<LobSystemInstance Name="ItemsData">
<Properties>
<Property Name="xmlfilepath" Type="System.String">c:\testfolder\products.xml</Property>
</Properties>
</LobSystemInstance>
</LobSystemInstances>
Solution 3 (custom code)
Custom code like powershell or a console application.