gpt4 book ai didi

c# - 访问 Sharepoint 2013/office365 列表时出现 "DTD is prohibited"错误(但未公开意识到使用 XML)

转载 作者:数据小太阳 更新时间:2023-10-29 02:10:49 24 4
gpt4 key购买 nike

我一直在使用以下代码从 Sharepoint(在 Office 365 上)获取文件夹和文件列表...

...
var folders = ListFolders(libraryName, clientContext, web);
...

public List<Folder> ListFolders(string libraryName, ClientContext clientContext, Web web)
{
var list = GetDocumentLibrary(libraryName, clientContext, web);
var folders = list.RootFolder.Folders;
clientContext.Load(folders);
clientContext.ExecuteQuery();
return folders.ToList();
}

public List GetDocumentLibrary(string libraryName, ClientContext clientContext, Web web)
{
var query = clientContext.LoadQuery(web.Lists.Where(p => p.Title == libraryName));
clientContext.ExecuteQuery();
return query.FirstOrDefault();
}

在我重新启动计算机(它安装了 Windows 更新)之前一切正常,我强烈怀疑,根据我所做的一些测试,这似乎是由 http://support.microsoft.com/kb/2964358 引起的.

当在 GetDocumentLibrary() 中到达 clientContext.ExecuteQuery() 语句时,抛出以下异常。

System.Xml.dll 中发生类型为“System.Xml.XmlException”的未处理异常附加信息:出于安全原因,此 XML 文档中禁止使用 DTD。要启用 DTD 处理,请将 XmlReaderSettings 上的 DtdProcessing 属性设置为 Parse,并将设置传递给 XmlReader.Create 方法。

我想知道如何解决这个问题,因为我没有有意识地使用 System.XML,它是 ExecuteQuery 运行时的后台函数或进程。

我能否将一些额外的 XMLReader 信息传递给此或 clientContext(我假设不能),所以我不确定如何执行此查询以防止 DTD 错误。我还尝试通过使用此代码以不同的方式访问列表...(来自 Microsoft 的 MSDN 页面)

List list = clientContext.Web.Lists.GetByTitle(libraryName);
CamlQuery camlQuery = new CamlQuery();
camlQuery.ViewXml = "<View/>";
ListItemCollection listItems = list.GetItems(camlQuery);
clientContext.Load(list); clientContext.Load(listItems);
clientContext.ExecuteQuery();

这在没有上面的 KB 的计算机上有效,但是在我的 PC 上它没有(我得到与我的其他代码相同的异常),显然卸载 KB 会使事情在短期内工作,但它不好从长远来看。任何有关如何避免此错误的建议将不胜感激。我只能假设现在这个 KB 已经实现,Microsoft 将提供一种“首选”方式来访问列表,但我不知道它是什么。谢谢

小狗

最佳答案

我使用第二个路由器作为 WiFi 扩展器,当连接到共享点时,这似乎有一个奇怪但可重现的效果,我停止使用它并使用我的主路由器/wifi 盒子,我的问题消失了。

关于c# - 访问 Sharepoint 2013/office365 列表时出现 "DTD is prohibited"错误(但未公开意识到使用 XML),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23443316/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com