sharepoint list web service updatelistitem caml

时间:2009-12-08 18:09:25

标签: sharepoint-2007

我可以使用list webservice updatelistitem方法的字段标题而不是字段ID来更新sharepoint列表项。 例如:msdn sample使用字段名称ID batchElement.InnerXml =“”+    “6”+    “修改后的第六项”+    “7”+    “修改后的第七项”+    “5”+    “”+    “添加项目”

由于我从sql db中提取信息以更新列表并且我不知道项目ID,我可以使用title作为条件来更新其他项目字段吗?

  • 甘恩

1 个答案:

答案 0 :(得分:0)

当您说“我从sql db中提取信息”时,您是否在查询sharehe数据库?如果是这样的话。如果没有,并且您正在使用存储项目标题的外部数据库,则可能需要调用相同服务的GetListItems方法,使用查询返回基于“标题”字段的项目。查询将是这样的:

<Query>
  <Where>
    <Eq>
      <FieldRef Name='Title' />
      <Value Type='Text'>Title of item</Value>
    </Eq>
  </Where>
</Query>

或者,如果您需要更多,请将Eq元素嵌套在OR中,如此

<Query>
  <Where>
    <Or>
      <Or>
        <Eq>
          <FieldRef Name='Title' />
          <Value Type='Text'>Title of item</Value>
        </Eq>
        <Eq>
          <FieldRef Name='Title' />
          <Value Type='Text'>Other Title of item</Value>
        </Eq>
      </Or>
      <Eq>
        <FieldRef Name='Title' />
        <Value Type='Text'>Yet another Title of item</Value>
      </Eq>
    </Or>
  </Where>
</Query>

然后使用此调用结果中的ID来构建批处理xml。