[assembly: System.Web.UI.WebResource("Project.ConfigurationFiles.Tools.xml", "text/xml")]
string resource = "Project.ConfigurationFiles.Tools.xml";
string pathXML =Page.ClientScript.GetWebResourceUrl(this.GetType(), resource);
XmlSerializer mySerializer = new XmlSerializer(typeof(ToolB));
using (FileStream myFileStream = new FileStream(pathXML, FileMode.Open))
{
我得到的错误:
路径中的非法字符。
我想这是因为FilleStream需要文件而不是网址。
答案 0 :(得分:0)
发生此异常是因为GetWebResourceUrl函数返回HTTP地址,但FileStream需要文件路径。从您的代码片段中我假设您正在尝试读取嵌入到程序集中的XML文件并将其反序列化回对象。以下是您如何实现这一目标:
var executingAssembly = Assembly.GetExecutingAssembly();
var resource = "Project.ConfigurationFiles.Tools.xml";
using (var stream = executingAssembly.GetManifestResourceStream(resource))
{
var serializer = new XmlSerializer(typeof(ToolB));
var toolB = (ToolB)serializer.Deserialize(stream);
}