Импорт данных из XML файла в список SharePoint с помощью PowerShell
Появилась задача загрузить данные из файла XML в список SharePoint 2010. XML имеет следующую структуру:
В SharePoint 2010 заранее создал список — Список пользователей, с соответствующими полями. Вот скрипт на PowerShell, который возьмет данные из файла XML и загурузит в список SharePoint:
if(!(Get-PSSnapin Microsoft.SharePoint.Powershell -ErrorAction:SilentlyContinue))
{
Add-PSSnapin Microsoft.SharePoint.Powershell
#Set these two variables accordingly
$WebURL = “http://portal.contoso.com/”
$ListName = "Список пользователей"
$XMLFilePath = "C:\scripts\xml\test.xml"
#Get the Web
$web = Get-SPWeb $WebURL
#Get the List
$ProjectList = $web.Lists[$ListName]
#import xml file
[*xml]$ProjectXmlFile = Get-Content $XMLFilePath
foreach ($XMLProject in $ProjectXmlFile.domainusers.user)
{
$NewProject = $ProjectList.Items.Add()
$NewProject["ФИО"] = $XMLProject.ФИО
$NewProject["Отдел"] = $XMLProject.Отдел
$NewProject["Должность"] = $XMLProject.Должность
$NewProject["Комната"] = $XMLProject.Комната
$NewProject["Рабочий телефон"] = $XMLProject.Телефон
$NewProject["Адрес электронной почты"] = $XMLProject.Почта
$NewProject.Update()
Write-Host "Project $($XMLProject.ФИО) has been Added to External Projects list!"
}
* в коде есть место — [*xml], так звездочку нужно удалить.
Это скрипт подойдет только для разовой загрузки данных, т.к. скрипт не заменяет данные в списке SharePoint, а еще раз их туда запишет, если его повторно запустить. Т.е. в списке будет две Ивановой, и две Соколовой.
Нашли опечатку в тексте? Пожалуйста, выделите ее и нажмите Ctrl+Enter! Спасибо!
Хотите поблагодарить автора за эту заметку? Вы можете это сделать!
Пытаюсь загрузить в список SharePoint данные из этого XML www.cbr.ru/scripts/XML_da...e_req=23/01/2015, но не получается, видимо стоят пробелы в тэгах, типа Value ID, как с этим быть? Помоги, жду ответа на melwin@mail.ru Спасибо.
Михаил
23 Янв 2015 в 20:07
Пользуюсь скриптом, наткнулся на такую проблему загрузки данных по датам, т.е. мне нужно перезписывать данные если даты совподают. Можете чем помочь? жду отвта на почту fox8791@mail.ru
Куаныш
15 Апр 2015 в 15:56