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.
Solution 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.