对于SP2010迁移工具,我编写了两种方法:一种用于将网站集导出到xml文件,另一种用于将xml结构导入网站集。
除了我无法使列表迁移正常工作之外,一切正常。我只需要复制没有它内容的列表,但是需要使用什么模板以及它是否显示在快速启动栏中等属性。
这里我将每个列表的数据存储在xml文件中
foreach (SPList list in rootsite.Lists)
{
//Store relevant data about each list in xml node
XmlElement nodelist = document.CreateElement(strList);
nodelist.SetAttribute(strTitle, list.Title);
nodelist.SetAttribute(strDescription, list.Description);
nodelist.SetAttribute(strTemplate, "value for list template goes here");
}
在这里我将xml转换为SPList:
XmlElement rootnode = document.DocumentElement; //Get root node of document (SPSite)
XmlNodeList listsnode = rootnode.ChildNodes[0].SelectNodes(strList); //Get all lists from "Lists" node of xml file
if (listsnode.Count > 0)
{
foreach(XmlNode node in listsnode)
{
//Store data about list in strings and create the list afterward
string strListTitle = node.Attributes[strTitle].Value;
string strListDescription = node.Attributes[strDescription].Value;
string strListTemplate = //how to get data into SPListTemplate here?
site.RootWeb.Lists.Add(strListTitle, strListDescription, strListTemplate);
}
}
所以我基本上不知道如何处理这个问题,如果我应该使用SPListTemplate或SPListTemplateType。