从sharepoint 2010获取数据时出现特殊字符问题

时间:2011-11-18 11:50:48

标签: c# web-services sharepoint sharepoint-2010

我正在使用此代码使用List WebService从sharepoint 2010上名为Tech Experience的资产库中获取项目列表。

ListService.Lists objLists = new ListService.Lists();
                objLists.Credentials = Constant.credentials;
                objXMLDocument = new XmlDocument();
                objXMLDocument.LoadXml("<QueryOptions><IncludeMandatoryColumns>FALSE</IncludeMandatoryColumns><Folder>Tech Experience</Folder><ViewAttributes Scope=\"RecursiveAll\" /></QueryOptions>");
                XmlNode objQueryOptions = objXMLDocument.DocumentElement;
                resultXml = objLists.GetListItems("Tech Experience", null, null, null, "100", objQueryOptions, null);

在执行给定代码中的最后一行时,它会抛出此错误“xml Document中的错误”。

但是,如果我在loadxml中更改资产库(即从技术Exprience更改为其他东西),它可以正常工作。

我发现到目前为止,此资产库中可用项目的描述包含一些特殊字符,如(',“,&lt;,&gt;,&amp;),这些字符会产生问题。

如果我错了,请纠正我。

我不能要求我的客户在上传新文件时不要使用这些字符。

请建议我如何克服这个问题。

如果可能,我会更喜欢c#部分的解决方案。

2 个答案:

答案 0 :(得分:1)

如果我理解正确,您的客户端会向您发送包含无效XML的XML文件。这些字符在XML中具有转义序列;你确定你不能要求你的客户使用它们并向你发送结构良好的XML吗?

答案 1 :(得分:0)

“技术体验”列表名称...您确定使用的是内部列表名称而不是显示名称吗?