当前位置: 首页 > 编程语言 > C#

将XSLT文件作为同一项目的资源进行访问?共享

时间:2023-04-10 11:18:49 C#

访问XSLT文件作为来自同一项目的资源?我有一个要加载并用于转换XML文件的XSLT文件。我已将该文件添加到与使用它的代码相同的项目中,并将其放入“资源”文件夹中,并将“构建操作”设置为“资源”。下面是尝试访问该文件的代码:XslCompiledTransformmyXslTransform=newXslCompiledTransform();myXslTransform.Load(@"[projectName];component/Resources/OrderManagement/OrderOverview.xslt");...其中[projectName]是项目的名称。但是,这似乎不起作用。我玩过不同的路径,但不知何故我似乎没有做对。我敢肯定这只是一件小事,但我在互联网上(或这里)找到的所有文章都没有帮助我。有人可以帮忙吗?一位同事帮我找到了解决办法。我们通过项目的属性添加资源,以便我可以轻松访问其内容并使用以下代码。使用(varreader=newStringReader(Resources.OrderOverview)){使用(XmlReaderxmlReader=XmlReader.Create(reader)){myXslTransform.Load(xmlReader);myXslTransform.Transform(文件名,参数,xmlTextWriter);这与outcoldman所建议的非常相似,巧妙地以不同方式区分了对资源的访问。将构建操作从Resource更改为EmbeddedResource,之后您可以执行类似XslCompiledTransformmyXslTransform=newXslCompiledTransform();之类的操作。varassembly=typeof(SomeTypeFromAssemblyWithResource).Assembly;使用(varstream=assembly.GetManifestResourceStream(“Resources.OrderManagement.OrderOverview.xslt”)){使用(varxmlReader=XmlReader.Create(stream)){myXslTransform.Load(xmlReader);dll中的资源名称可能很棘手,因此您可能想先使用Assembly.GetManifestResourceNames了解资源名称。编译器根据文件夹和程序集生成名称。以上是C#学习教程:AccessXSLTfilesasresourcesfromthesameproject?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: