如何从Episerver中的属性读取XML文档

时间:2015-10-09 06:13:34

标签: c# xml episerver episerver-6 episerver-6-r2

我想从在Episerver的编辑模式下创建的属性中读取XML文档。

我创建了一个“URL to Document”类型的属性。 当我尝试从后面的代码中获取它时,它只提供文件路径。我无法读取在属性中上传的XML文件的内容。

string XMLContent = Currentpage.Getproperty<string>("XMLFile");

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:3)

您还需要加载文件。像这样:

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。

加载文件内容

答案 1 :(得分:0)

试试这个

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);
        }
    }
}
​