Búsqueda de sitios web

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

Artículos relacionados