SharePoint 2010将站点字段导出为XML文件

时间:2012-05-10 09:42:19

标签: visual-studio-2010 powershell sharepoint-2010 stsadm

我刚刚开始使用SharePoint 2010(你可以说有点迟到了!)我已经通过GUI创建了一个列表,就像我通常使用SharePoint 2007一样。然后我会使用Gary la pointe stsadm extentions来提取字段XML并将它们放入visual studio中的一个功能中。

我想知道这仍然可以做到!我在2010 stsadm命令中找不到gl-Exportsitecolumns命令!

是否有PowerShell替代方案?

非常感谢任何帮助或指导。

干杯      Truez

2 个答案:

答案 0 :(得分:2)

我不知道PowerShell中的这种替代方案。但这个代码很容易解决:

$w = Get-SPWeb http://localhost/subweb
$w.Fields | select SchemaXml # option 1: prints all xml to console
$w.Fields | select schemaxmlwithresourcetokens # option 2: the same, but with resource tokens
$w.Fields | %{ $_.schemaxml } | out-file c:\temp\fields.xml -encoding unicode #option 3: saves output to text file

答案 1 :(得分:1)

PowerShell中的替代方案可在此处找到:Phil Childs的export-and-importcreate-site-content.html

$sourceWeb = Get-SPWeb http://portal
$xmlFilePath = "C:\Install\Script-SiteContentTypes.xml"

#Create Export File
New-Item $xmlFilePath -type file -force

#Export Content Types to XML file
Add-Content $xmlFilePath "<?xml version=`"1.0`" encoding=`"utf-8`"?>"
Add-Content $xmlFilePath "`n<ContentTypes>"
$sourceWeb.ContentTypes | ForEach-Object {
    if ($_.Group -eq "Custom Content Types") {
        Add-Content $xmlFilePath $_.SchemaXml
    }
}
Add-Content $xmlFilePath "</ContentTypes>"

$sourceWeb.Dispose()