2011-04-20 61 views
1

我试图创建一个没有依赖关系的EXE(备用.NET Framework :-)。该程序涉及解析一堆共享相同DTD的XML文档(使用XmlTextReader)。 DTD在文档中仅由其名称引用,因此直到现在,我已将它作为“Copy If Newer”,因此它与EXE本身位于同一文件夹中。XmlTextReader和嵌入式资源DTD

现在我想将此DTD作为嵌入式资源嵌入到我的项目中。我假设我需要一个自定义的XmlResolver来使我的XmlTextReader开心,但我不确定那是什么样子。秘诀是什么?

+1

一般来说,你不应该使用'XmlTextReader'。你应该使用'XmlReader.Create()'。 – 2011-04-20 17:25:38

回答

3

没有秘密的酱油。只需Google提供“XmlResolver”,即可找到“System.Xml.XmlResolver class”文章。在底部,您可以找到“Customizing the XmlUrlResolver class”的链接。

使用您的自定义解析器的实例作为您在XmlReader.Create调用中使用的XmlReaderSettings实例的XmlResolver属性。

+1

谢谢,现在我明白了。但你必须承认酱汁比番茄酱更接近伍斯特郡。 :-) – roufamatic 2011-04-20 18:03:35

+0

有帮助,但是一个例子本来会更好,因为MSDN上没有。 – NightOwl888 2016-08-21 12:42:05

+0

@night我假设受众具有一定的能力。 – 2016-08-21 13:50:31