C# 如何从epserver中的属性读取XML文档

C# 如何从epserver中的属性读取XML文档,c#,xml,episerver,episerver-6,episerver-6-r2,C#,Xml,Episerver,Episerver 6,Episerver 6 R2,我想从在Episerver的编辑模式下创建的属性中读取XML文档 我创建了一个类型为“URL to Document”的属性。 当我试图从代码隐藏中获取它时,它只给出文件路径。我无法读取在属性中上载的XML文件的内容 string XMLContent = Currentpage.Getproperty<string>("XMLFile"); string XMLContent=Currentpage.Getproperty(“XMLFile”); 有人能帮忙吗?您还需要加载文件

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

我创建了一个类型为“URL to Document”的属性。 当我试图从代码隐藏中获取它时,它只给出文件路径。我无法读取在属性中上载的XML文件的内容

string XMLContent = Currentpage.Getproperty<string>("XMLFile");
string XMLContent=Currentpage.Getproperty(“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加载文件内容。

您还需要加载文件。大概是这样的:

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加载文件内容。

您还需要加载文件。大概是这样的:

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加载文件内容。

您还需要加载文件。大概是这样的:

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

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

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

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


嗨,谢谢你的回答。但是var stream=file.Open()不起作用。未在流对象中获取文件内容。错误:“((System.IO.Stream)(s)).ReadTimeout”是否可以在文件小工具中打开在属性中指定的文件?该错误表明从磁盘读取文件时出现问题。file.LocalPath说什么?它是否为您提供了磁盘上存在的路径?是的,file.LocalPath为我提供了正确的路径。stream变量提供了文件信息,但是我如何读取它的内容。xml可能有错误。您需要验证xml是否正确。从VS项目菜单:添加新项:XML文件。将xml粘贴到窗口中。错误将像任何编译器错误一样显示在错误列表窗口中。XDocument.Load(stream)未将stream作为参数。Load将字符串或xmlreader作为参数。您好,谢谢您的回答。但是var stream=file.Open()不起作用。未在流对象中获取文件内容。错误:“((System.IO.Stream)(s)).ReadTimeout”是否可以在文件小工具中打开在属性中指定的文件?该错误表明从磁盘读取文件时出现问题。file.LocalPath说什么?它是否为您提供了磁盘上存在的路径?是的,file.LocalPath为我提供了正确的路径。stream变量提供了文件信息,但是我如何读取它的内容。xml可能有错误。您需要验证xml是否正确。从VS项目菜单:添加新项:XML文件。将xml粘贴到窗口中。错误将像任何编译器错误一样显示在错误列表窗口中。XDocument.Load(stream)未将stream作为参数。Load将字符串或xmlreader作为参数。您好,谢谢您的回答。但是var stream=file.Open()不起作用。未在流对象中获取文件内容。错误:“((System.IO.Stream)(s)).ReadTimeout”是否可以在文件小工具中打开在属性中指定的文件?该错误表明从磁盘读取文件时出现问题。file.LocalPath说什么?它是否为您提供了磁盘上存在的路径?是的,file.LocalPath为我提供了正确的路径。stream变量提供了文件信息,但是我如何读取它的内容。xml可能有错误。您需要验证xml是否正确。从VS项目菜单:添加新项:XML文件。将xml粘贴到窗口中。错误将像任何编译器错误一样显示在错误列表窗口中。XDocument.Load(stream)未将stream作为参数。Load将字符串或xmlreader作为参数。您好,谢谢您的回答。但是var stream=file.Open()不起作用。未在流对象中获取文件内容。错误:“((System.IO.Stream)(s)).ReadTimeout”是否可以在文件小工具中打开在属性中指定的文件?该错误表明从磁盘读取文件时出现问题。file.LocalPath说什么?它是否为您提供了磁盘上存在的路径?是的,file.LocalPath为我提供了正确的路径。stream变量提供了文件信息,但是我如何读取它的内容。xml可能有错误。您需要验证xml是否正确。从VS项目菜单:添加新项:XML文件。将xml粘贴到窗口中。错误将像任何编译器错误一样显示在错误列表窗口中。XDocument.Load(stream)未将stream作为参数。Load将字符串或xmlreader作为参数。问题与将内容解析为XML无关。这个问题实际上与产品epserver以及如何读取文件有关,而与将内容解析为XML无关。这个问题实际上与产品epserver以及如何读取文件有关,而与将内容解析为XML无关。这个问题实际上与产品epserver以及如何读取文件有关,而与将内容解析为XML无关。这个问题实际上与产品epserver以及如何读取文件有关。