我正在尝试从媒体库加载 xml 文件,但路径有问题。当 xml 文件位于实际服务器文件中时,或者当它位于另一个托管站点上时,我已经能够加载 xml,但当文件位于媒体库中时则不能。xml 文件是否必须是托管在某处的物理文件?
这是我检索媒体项目路径的代码:
Sitecore.Data.Database master = Sitecore.Configuration.Factory.GetDatabase("master");
Sitecore.Data.Items.Item sampleItem = master.GetItem("/sitecore/media library/Files/eBooks/testxml");
Sitecore.Data.Items.Item sampleMedia = new Sitecore.Data.Items.MediaItem(sampleItem);
string url = Sitecore.StringUtil.EnsurePrefix('/', Sitecore.Resources.Media.MediaManager.GetMediaUrl(sampleMedia));
然后,当我加载 xml 时,我正在执行以下操作:
XmlDocument xDoc = new XmlDocument();
xDoc.Load(Server.MapPath(url));
它返回的路径是正确的,因为我已经测试将它放在锚标记中以查看它是否会链接到 xml 文件,并且确实如此。我在这个站点上找到了类似的帖子,但似乎没有一个涉及 xml.Load 上下文中的媒体库项目。
任何有关这是否可能或我可以做些什么来使它工作的信息将不胜感激。
谢谢你。