当我查看stsadm -o export
命令的输出文件时,我可以看到一个“简单”的xml文件,它可以获取网站的全部内容。
重用这样的xml文件通过stsadm -o import
命令导入数据是否安全?
我的意思是,我可以生成一个尊重SP格式的xml文件来向SP注入数据吗?
类似的东西:
<SPObject Id="2efe1c96-cf29-4ade-9f5f-f73451f07576" ObjectType="SPListItem" ParentId="fa5afbc9-0e48-4bde-bceb-a65bcf3fe862" ParentWebId="f0bc765d-1b02-4c03-b59d-5d0ab85a0db5" ParentWebUrl="/aide" Url="/aide/Pages Wiki/Colonne Statut.aspx">
<ListItem
FileUrl="Pages Wiki/Colonne Statut.aspx"
DocType="File"
ParentFolderId="0f70edd9-1b3d-48a9-b7cc-de21413e2158"
Id="2efe1c96-cf29-4ade-9f5f-f73451f07576"
ParentWebId="f0bc765d-1b02-4c03-b59d-5d0ab85a0db5"
ParentListId="fa5afbc9-0e48-4bde-bceb-a65bcf3fe862"
IntId="9"
DocId="7ab00ce5-cff2-458b-b353-c5f27710b1f7"
Version="1.0"
ContentTypeId="0x01010800EC194E065D111C41960C31AE6200DFB2"
Author="1"
ModifiedBy="1"
TimeLastModified="2010-07-23T15:03:27"
TimeCreated="2010-07-23T15:03:27" ModerationStatus="Approved">
<Fields>
<Field Name="_ModerationComments" FieldId="34ad21eb-75bd-4544-8c73-0e08330291fe" />
<Field Name="Modified_x0020_By" FieldId="822c78e3-1ea9-4943-b449-57863ad33ca9" />
<Field Name="Created_x0020_By" FieldId="4dd7e525-8d6b-4cb4-9d3e-44ee25f973eb" />
<Field Name="_SourceUrl" FieldId="c63a459d-54ba-4ab7-933a-dcf1c6fadec2" />
<Field Name="MyField" Value="MyVal" />
</Fields>
</ListItem>
</SPObject>
我的实际目标是以ETL方式从自定义主应用程序的xml导出中填充一些列表。
答案 0 :(得分:1)
您是否考虑过使用Business Connectivity Services?这在SharePoint Foundation 2010中可用。在SharePoint 2007中,您需要BDC和相应的许可证。
否则我建议使用lists webservice。
我只能看到使用导入产生的痛苦和挫折,即使它确实有效。
如果您能够运行stsadm命令,我建议您创建一个powershell脚本以使用对象模型进行更改。
然后,powershell脚本可以加载xml文件以获取所需的更改列表。
答案 1 :(得分:1)
在通过STSADM -o import
导入时,您需要GUID来获取对象模型构建要写入的元素所需的关键属性。这将是非常漫长和乏味的。使用Lists Webservice或客户端对象模型来创建中间应用程序要安全得多。