【问题标题】:CAML query items with the given URLs具有给定 URL 的 CAML 查询项
【发布时间】:2008-12-23 00:22:46
【问题描述】:

在 SP2007/MOSS 中,我需要对单个列表运行 CAML 查询,如下所示:

<Where>
    <Or>
        <Eq>
            <FieldRef Name='URL' />
            <Value Type='URL'>/path/item1.aspx</Value>
        </Eq>
        <Eq>
            <FieldRef Name='URL' />
            <Value Type='URL'>/path/item4.aspx</Value>
        </Eq>
        <Eq>
            <FieldRef Name='URL' />
            <Value Type='URL'>/path/item7.aspx</Value>
        </Eq>
    </Or>
</Where>

这样做的实际结果是我有一个 SPListItemCollection,其中包含我拥有 URL 的项目。

但是,我收到错误消息“未正确安装一个或多个字段类型。转到列表设置页面以删除这些字段。'

列表中的所有项目都是相同的内容类型。 SP 日志中唯一相关的错误显示相同的消息。

答案并没有解决这个特定问题,但最终是正确的(或者必须嵌套)。问题是我的字段值类型应该是 FileRef。

【问题讨论】:

    标签: sharepoint moss caml


    【解决方案1】:

    此错误几乎总是因为您的 CAML 查询不正确。你有没有试过这样格式化:

    <Where>
        <Or>
            <Eq>
                <FieldRef Name='URL' />
                <Value Type='URL'>/path/item1.aspx</Value>
            </Eq>
            <Or>
                <Eq>
                    <FieldRef Name='URL' />
                    <Value Type='URL'>/path/item4.aspx</Value>
                </Eq>
                <Eq>
                    <FieldRef Name='URL' />
                    <Value Type='URL'>/path/item7.aspx</Value>
                </Eq>
            </Or>
        </Or>
    </Where>
    

    我很确定在 Or 或 And 分支中只能有两个组件。

    【讨论】:

      猜你喜欢
      • 2021-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多