我想从 Episerver 的编辑模式下创建的属性中读取 XML 文档。
我已经创建了一个类型为“URL to Document”的属性。当我尝试从后面的代码中获取它时,它只提供文件路径。我无法读取属性中上传的 XML 文件的内容。
string XMLContent = Currentpage.Getproperty<string>("XMLFile");
有人可以帮忙吗?
我想从 Episerver 的编辑模式下创建的属性中读取 XML 文档。
我已经创建了一个类型为“URL to Document”的属性。当我尝试从后面的代码中获取它时,它只提供文件路径。我无法读取属性中上传的 XML 文件的内容。
string XMLContent = Currentpage.Getproperty<string>("XMLFile");
有人可以帮忙吗?
您还需要加载文件。像这样的东西:
var path = CurrentPage["XMLFile"] as string;
if (HostingEnvironment.VirtualPathProvider.FileExists(path))
{
var file = HostingEnvironment.VirtualPathProvider.GetFile(path) as UnifiedFile;
if (file != null)
{
using (var stream = file.Open())
{
// Here is your XML document
var xml = XDocument.Load(stream);
}
}
}
您还可以使用磁盘上的本地路径 file.LocalPath 来加载文件内容。
尝试这个
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string XMLContent = "";
//using XML
XmlDocument doc1 = new XmlDocument();
doc1.LoadXml(XMLContent);
//using xml linq
XDocument doc2 = XDocument.Parse(XMLContent);
}
}
}