通过Sitecore Web服务访问项目字段

时间:2012-09-26 20:27:55

标签: sitecore sitecore6

我正在通过Sitecore Web Service动态创建项目。到目前为止,我可以使用此功能创建项目:

  

AddFromTemplate

我也试过这个链接:http://blog.hansmelis.be/2012/05/29/sitecore-web-service-pitfalls/

但我发现很难进入这些领域。到目前为止,这是我的代码:

public void CreateItemInSitecore(string getDayGuid, Oracle.DataAccess.Client.OracleDataReader reader)
    {
        if (getDayGuid != null)
        {
            var sitecoreService = new EverBankCMS.VisualSitecoreService();
            var addItem = sitecoreService.AddFromTemplate(getDayGuid, templateIdRTT, "Testing", database, myCred);

            var getChildren = sitecoreService.GetChildren(getDayGuid, database, myCred);

            for (int i = 0; i < getChildren.ChildNodes.Count; i++)
            {
                if (getChildren.ChildNodes[i].InnerText.ToString() == "Testing")
                {
                    var getItem = sitecoreService.GetItemFields(getChildren.ChildNodes[i].Attributes[0].Value, "en", "1", true, database, myCred);

                    string p = getChildren.ChildNodes[i].Attributes[0].Value;
                }
            }
        }
    }

因此,您可以看到我正在创建,并且我想要访问该项的字段。 我认为 GetItemFields 会给我一些价值,但发现很难得到它。任何线索?

2 个答案:

答案 0 :(得分:1)

我的建议是不使用VSS(Visual Sitecore服务),而是专门针对您希望它执行的操作编写自己的服务。

这种方式通常更有效,因为您可以直接在服务中执行您想要的操作,而不是对VSS进行大量调用并在客户端处理您的逻辑。

对我来说,这一直是比使用VSS更好的解决方案。

答案 1 :(得分:0)

我假设您正在寻找字段的外观以及字段ID是什么。

您可以使用ID调用GetXml,它返回项目及其中设置的所有版本和字段,它不会显示您尚未设置的字段。