SPList returns 如果修改或删除 CAML 查询则无结果
SPList returns no result if CAML query is modified or removed
我有一个 SharePoint
PowerShell
脚本,它从列表中获取项目。
我正在更改 CAML
不同输出的查询。
但是,在更改或删除 CAML
查询后,list.GetItems()
的方法返回了 0
结果,我不知道为什么会这样。
下面是我的代码片段:
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#Set config variables
$baseUrl="http://test.com/"
$listName ="Lists/FilePlan"
#Get Web and List Objects
$web = Get-SPWeb $baseUrl
$list = $web.GetList($listName)
#Define the CAML Query
$queryOriginal = New-Object Microsoft.SharePoint.SPQuery
$queryOriginal.Query = "@
<Where>
<Eq>
<FieldRef Name='ContentType' />
<Value Type='Text'>Folder Content Type</Value>
</Eq>
</Where>"
$queryModified = New-Object Microsoft.SharePoint.SPQuery
$queryModified.Query = "@
<Where>
<Eq>
<FieldRef Name='ContentType' />
<Value Type='Text'>Document Content Type</Value>
</Eq>
</Where>"
#Get List Items matching the query
$items = $list.GetItems($queryOriginal) //result
$items2 = $list.GetItems($queryModified) //zero result*****
$items3 = $list.GetItems() //zero result*****
编辑:
尝试使用 <Neq>
但也无济于事。
您可以查看下面的 PowerShell 脚本。
#Set config variables
$baseUrl="http://test.com/"
$listName ="FilePlan"
#Get Web and List Objects
$web = Get-SPWeb $baseUrl
$list = $web.Lists[$listName]
$items = $list.Items
$items.Count
然后您可以检查 ContentType 是否适合此列表。您可以提供有关列表的更多信息(自定义列表或文档库以及此列表的所有内容类型)以供进一步研究。
我有一个 SharePoint
PowerShell
脚本,它从列表中获取项目。
我正在更改 CAML
不同输出的查询。
但是,在更改或删除 CAML
查询后,list.GetItems()
的方法返回了 0
结果,我不知道为什么会这样。
下面是我的代码片段:
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#Set config variables
$baseUrl="http://test.com/"
$listName ="Lists/FilePlan"
#Get Web and List Objects
$web = Get-SPWeb $baseUrl
$list = $web.GetList($listName)
#Define the CAML Query
$queryOriginal = New-Object Microsoft.SharePoint.SPQuery
$queryOriginal.Query = "@
<Where>
<Eq>
<FieldRef Name='ContentType' />
<Value Type='Text'>Folder Content Type</Value>
</Eq>
</Where>"
$queryModified = New-Object Microsoft.SharePoint.SPQuery
$queryModified.Query = "@
<Where>
<Eq>
<FieldRef Name='ContentType' />
<Value Type='Text'>Document Content Type</Value>
</Eq>
</Where>"
#Get List Items matching the query
$items = $list.GetItems($queryOriginal) //result
$items2 = $list.GetItems($queryModified) //zero result*****
$items3 = $list.GetItems() //zero result*****
编辑:
尝试使用 <Neq>
但也无济于事。
您可以查看下面的 PowerShell 脚本。
#Set config variables
$baseUrl="http://test.com/"
$listName ="FilePlan"
#Get Web and List Objects
$web = Get-SPWeb $baseUrl
$list = $web.Lists[$listName]
$items = $list.Items
$items.Count
然后您可以检查 ContentType 是否适合此列表。您可以提供有关列表的更多信息(自定义列表或文档库以及此列表的所有内容类型)以供进一步研究。