首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 企业软件 > 行业软件 >

sharepoint中加载文档库中的文件(该文件是xml文件)报错未授权?怎么解决

2012-03-13 
sharepoint中加载文档库中的文件(该文件是xml文件)报错未授权?如何解决?xmldocument xmlnew xmldocument(

sharepoint中加载文档库中的文件(该文件是xml文件)报错未授权?如何解决?

xmldocument xml=new xmldocument();
xml.load("这里边我想加载xml但是我直接输入xml的位置不可以(比如http://text/a.xml)该怎么输入");

高手帮忙看看,,急急急。

[解决办法]
我也遇到了,无论我把xml放到库里还是网站资产里,直接访问都是报服务器未授权。
我的解决办法是:将xml文件放到wwwroot里面端口对应的目录里,比如我的是80端口。
我就放80文件夹内,然后用下面语句访问:
XmlDocument xmlDoc = new XmlDocument();
SPSecurity.RunWithElevatedPrivileges(delegate()
{
string xmlPath = System.Web.HttpContext.Current.Request.PhysicalApplicationPath + "Auditor.xml";
xmlDoc.Load(xmlPath);
});
[解决办法]
//得到site对像
SPSite site = new SPSite("SiteURL");
//找到List下的xml文件
SPFile file = site.RootWeb.Lists["ListTitle"].Items[0].File;
XmlDocument doc = new XmlDocument();
//用流方式load xml文件
doc.Load(file.OpenBinaryStream());
Console.Write(doc.OuterXml.ToString());

[解决办法]
xml如果是存在IIS物理目录或者是虚拟目录里
第一,设置xml everyone 反问权限。
第二,读取Web根目录。
 string fileName = HttpContext.Current.Server.MapPath("~") + "ChartsConfig.xml";

如果XML是存在数据库(文档库或者列表),此时初始XML对象就发生变化了,具体请参见MSDN。
 XmlDocument doc = new XmlDocument();
//创建查询Query节点元素
XmlNode query = doc.CreateNode(XmlNodeType.Element, "Query", "");
//创建查询ViewFields节点元素
XmlNode ViewFields = doc.CreateNode(XmlNodeType.Element, "ViewFields", "");
query.InnerXml = Byquery;
ViewFields.InnerXml = byViewFields;

XmlNode items = list.GetListItems(listName, null, query, ViewFields, rowlimit, null, null);

//加载返回的XML文档结果集
doc.LoadXml(items.OuterXml);
//把xml转换成文件流

StringReader xmlreader = new StringReader(doc.OuterXml.Replace("z:", "Op").Replace("rs:data","Opdata"));
XmlReader createxmlread=XmlReader.Create(xmlreader)

这里需要转换得到xmlReader对象。

[上海]小样 无论对否只是给你提个醒,结贴后记得给分哦。

热点排行