如何在sharepoint 2007中列出和编辑所有web部件的html?

如何在sharepoint 2007中列出和编辑所有web部件的html?,sharepoint,sharepoint-2007,web-parts,Sharepoint,Sharepoint 2007,Web Parts,我是sharepoint新手,我必须对所有web部件进行非常简单的修改。我们有很多包含非常简单html的web部件。html仅包含链接和图像 <Content xmlns="http://schemas.microsoft.com/WebPart/v2/ContentEditor"><![CDATA[<p>test document test document</p>]]></Content> Web开发人员将页面和图像的完整链接放在

我是sharepoint新手,我必须对所有web部件进行非常简单的修改。我们有很多包含非常简单html的web部件。html仅包含链接和图像

<Content xmlns="http://schemas.microsoft.com/WebPart/v2/ContentEditor"><![CDATA[<p>test document test document</p>]]></Content>
Web开发人员将页面和图像的完整链接放在了一起,这导致了一些问题。我想扫描所有的web部件html并用相对链接替换完整链接

<Content xmlns="http://schemas.microsoft.com/WebPart/v2/ContentEditor"><![CDATA[<p>test document test document</p>]]></Content>
可能吗?我们有大量的页面和链接。手动操作需要2周

<Content xmlns="http://schemas.microsoft.com/WebPart/v2/ContentEditor"><![CDATA[<p>test document test document</p>]]></Content>
谢谢

<Content xmlns="http://schemas.microsoft.com/WebPart/v2/ContentEditor"><![CDATA[<p>test document test document</p>]]></Content>
编辑#2: 现在的问题是:是否可以列出我网站中的所有aspx文件? 我知道如何使用url访问web部件内容:

using (SPLimitedWebPartManager manager = web.GetLimitedWebPartManager(
                "ca/Pages/Home.aspx", PersonalizationScope.Shared))
        {
            foreach (System.Web.UI.WebControls.WebParts.WebPart wp in manager.WebParts)
            {
                System.Console.WriteLine(wp.Title);
                if (wp.GetType().Equals(typeof(Microsoft.SharePoint.WebPartPages.ContentEditorWebPart)))
                {
                    Microsoft.SharePoint.WebPartPages.ContentEditorWebPart thisWebPart = wp as Microsoft.SharePoint.WebPartPages.ContentEditorWebPart;

                    System.Console.WriteLine(thisWebPart.Content.InnerText );
                    System.Console.WriteLine(thisWebPart.Content.InnerXml);
                }

            }
        }
<Content xmlns="http://schemas.microsoft.com/WebPart/v2/ContentEditor"><![CDATA[<p>test document test document</p>]]></Content>
编辑#1: 根据要求,他们的示例如下:

<Content xmlns="http://schemas.microsoft.com/WebPart/v2/ContentEditor"><![CDATA[<p>test document test document</p>]]></Content>
我想删除“http://www.mywebsite.com“从所有代码如下的共享Web部件:

<A title="" href="http://www.mywebsite.com/Pages/Career.aspx" target=""><IMG style="BORDER-RIGHT: 0px solid; BORDER-TOP: 0px solid; BORDER-LEFT: 0px solid; BORDER-BOTTOM: 0px solid" src="http://www.mywebsite.com/images/Career.jpg" border=0></A>
<Content xmlns="http://schemas.microsoft.com/WebPart/v2/ContentEditor"><![CDATA[<p>test document test document</p>]]></Content>


我不确定我是否准确地得到了所需的东西。写一个这样的程序怎么样?通过正则表达式检测链接并替换它们。

我不确定是否准确地得到了所需的内容。写一个这样的程序怎么样?通过正则表达式检测链接并替换它们。

如果您想实际更改Sharepoint中的内容,可能很难在代码中执行此操作。每个web部件的工作方式都不同,因此没有针对所有web部件的标准解决方案。例如,CQWP可以从各种列表中提取数据,因此对该Web部件进行更改的方法是更改从中提取的列表中的数据。其他Web部件可能会从SQL Server、报表、iFrame等中提取数据。某些Web部件甚至可能会在自定义DLL中硬编码URL,您只能通过修改DLL所属的解决方案/功能并重新部署更新版本来更改URL

<Content xmlns="http://schemas.microsoft.com/WebPart/v2/ContentEditor"><![CDATA[<p>test document test document</p>]]></Content>

但是,另一种解决方案是编写响应过滤器,它将获取Sharepoint的输出,并在每次从Sharepoint请求页面时动态执行查找/替换。有关如何执行此操作的详细信息,请参阅。

如果您希望实际更改Sharepoint中的内容,则可能很难在代码中执行此操作。每个web部件的工作方式都不同,因此没有针对所有web部件的标准解决方案。例如,CQWP可以从各种列表中提取数据,因此对该Web部件进行更改的方法是更改从中提取的列表中的数据。其他Web部件可能会从SQL Server、报表、iFrame等中提取数据。某些Web部件甚至可能会在自定义DLL中硬编码URL,您只能通过修改DLL所属的解决方案/功能并重新部署更新版本来更改URL

<Content xmlns="http://schemas.microsoft.com/WebPart/v2/ContentEditor"><![CDATA[<p>test document test document</p>]]></Content>

但是,另一种解决方案是编写响应过滤器,它将获取Sharepoint的输出,并在每次从Sharepoint请求页面时动态执行查找/替换。有关如何执行此操作的详细信息,请参阅。

在内容编辑器web部件中,内容存储在内容标签下

<Content xmlns="http://schemas.microsoft.com/WebPart/v2/ContentEditor"><![CDATA[<p>test document test document</p>]]></Content>
测试文档测试文档

]>
<Content xmlns="http://schemas.microsoft.com/WebPart/v2/ContentEditor"><![CDATA[<p>test document test document</p>]]></Content>

这里我建议您在sharepoint Designer中打开该网站,并对所有页面使用“查找并替换”选项。在“内容编辑器”web部件中,内容存储在“内容标签”下

<Content xmlns="http://schemas.microsoft.com/WebPart/v2/ContentEditor"><![CDATA[<p>test document test document</p>]]></Content>
测试文档测试文档

]>
<Content xmlns="http://schemas.microsoft.com/WebPart/v2/ContentEditor"><![CDATA[<p>test document test document</p>]]></Content>

这里我建议您在sharepoint Designer中打开网站,并对所有页面使用“查找并替换”选项。这有两个部分,第一个部分是循环浏览网站中的所有web部件页面—这里有很多示例,因此在这里重复这一点不会使事情变得混乱

<Content xmlns="http://schemas.microsoft.com/WebPart/v2/ContentEditor"><![CDATA[<p>test document test document</p>]]></Content>
第二部分是更新内容属性并保存-这似乎是您的难题中缺少的部分,因此:-

<Content xmlns="http://schemas.microsoft.com/WebPart/v2/ContentEditor"><![CDATA[<p>test document test document</p>]]></Content>

这有两个部分,第一个部分是循环浏览站点中的所有web部件页面——这里有很多示例,这样就不会在这里重复这一点而把事情搞得一团糟

<Content xmlns="http://schemas.microsoft.com/WebPart/v2/ContentEditor"><![CDATA[<p>test document test document</p>]]></Content>
第二部分是更新内容属性并保存-这似乎是您的难题中缺少的部分,因此:-

<Content xmlns="http://schemas.microsoft.com/WebPart/v2/ContentEditor"><![CDATA[<p>test document test document</p>]]></Content>

你能举一个你想做的替换的例子吗。修改前后的链接。您使用的web部件类型是自定义web部件或内容编辑器web部件还是其他else@Ashutosh辛格:内容编辑器网页你可以发布一个你想做的替换的例子。修改前后的链接。您使用的web部件类型是自定义web部件或内容编辑器web部件还是其他else@Ashutosh辛格:内容编辑器网页部分这正是我想要做的。它甚至比正则表达式更简单:我只需要删除,但我不知道是否可以迭代所有的Web部件并修改html代码。我只知道手动“编辑html代码”按钮,这正是我想要做的。它甚至比正则表达式更简单:我只需要删除,但我不知道是否可以迭代所有的Web部件并修改html代码。我只知道手动“编辑html代码”按钮