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

jerysab 2011-08-25 11:40:35

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

高手帮忙看看,,急急急。
...全文
195 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Justin-Liu 2011-08-25
  • 打赏
  • 举报
回复
不支持你写的那种路径方式啊,用上面几个回复的方法
Watingalone 2011-08-25
  • 打赏
  • 举报
回复
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对象。

[上海]小样 无论对否只是给你提个醒,结贴后记得给分哦。
ttlhong1981 2011-08-25
  • 打赏
  • 举报
回复
//得到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());
sygwin_net 2011-08-25
  • 打赏
  • 举报
回复
我也遇到了,无论我把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);
});
a-zhwang 2011-08-25
  • 打赏
  • 举报
回复
你可以先模拟登陆

3,245

社区成员

发帖
与我相关
我的任务
社区描述
企业开发 SharePoint
社区管理员
  • SharePoint社区
  • 霖雨 - LinyuLoveTJ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧