Importe datos de archivos XML a la lista de SharePoint usando PowerShell
Requisito: PowerShell para importar XML a la lista de SharePoint
Disponemos de una utilidad de un sistema de terceros que genera datos del proyecto en formato XML. Tuvimos que importar esos datos a una lista en el sitio de la PMO. En otras palabras: tenemos que importar desde un archivo XML a la lista de SharePoint.
Aquí hay un archivo XML de muestra, generado por la herramienta:
<?xml version="1.0"?>
<projects>
<project id="PMO.1120">
<description>GIS upgrade 2013 </description>
<manager>global\E372440</manager>
<cost>$35000</cost>
<startdate>1/1/2014</startdate>
</project>
<project id="PMO.1121">
<description>HRIT Asset Life Cycle Automation</description>
<manager>AMER\E132321</manager>
<cost>$63000</cost>
<startdate>1/1/2014</startdate>
</project>
</projects>
Usando PowerShell, importemos datos XML a la lista de SharePoint.
Script de PowerShell para leer desde XML e importar a la lista de SharePoint:
Suponiendo que tenemos una lista existente creada con los nombres para mostrar de las columnas que coinciden exactamente con el siguiente script, aquí se explica cómo importar XML a la lista de SharePoint:
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#Set these two variables accordingly
$WebURL = "https://project.crescent.com/"
$ListName = "External Projects"
$XMLFilePath = "D:\data\ExternalProjects.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.projects.project)
{
$NewProject = $ProjectList.Items.Add()
$NewProject["Project ID"] = $XMLProject.id
$NewProject["Description"] = $XMLProject.description
#Set the People Picker Field
$NewProject["Project Manager"] = $web.EnsureUser($XMLProject.manager)
$NewProject["Cost"] = $XMLProject.cost
$NewProject["Start Date"] = $XMLProject.startdate
$NewProject.Update()
Write-Host "Project $($XMLProject.id) has been Added to External Projects list!"
}
¡Eso es todo! ¡Hemos terminado de importar datos XML a la lista de SharePoint con PowerShell!
Si está buscando una manera de exportar elementos de la lista de SharePoint a XML, consulte: Exportar lista de SharePoint a XML usando PowerShell
