XmlTextReader 和嵌入式资源 DTD

发布于 2024-11-02 23:33:23 字数 257 浏览 7 评论 0原文

我正在尝试创建一个没有依赖项的 EXE(保留 .NET Framework :-)。该程序涉及解析一堆共享相同 DTD 的 XML 文档(使用 XmlTextReader)。 DTD 在文档中仅通过其名称来引用,因此到目前为止,我将其称为“如果较新则复制”,因此它与 EXE 本身位于同一文件夹中。

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

I'm trying to create a single EXE with no dependencies (spare the .NET Framework :-). The program involves parsing a bunch of XML docs (using XmlTextReader) that share the same DTD. The DTD is referred to by its name alone in the doc, so till now I've had it as "Copy if Newer" so it's in the same folder as the EXE itself.

Now I'd like to embed this DTD as an embedded resource in my project. I assume I'll need a custom XmlResolver to make my XmlTextReader happy, but I wasn't sure what that looked like. What's the secret sauce?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

白衬杉格子梦 2024-11-09 23:33:23

没有什么秘诀。只需 Google 搜索“XmlResolver”,您就会找到“系统.Xml.XmlResolver 类”文章。在底部,您将找到“自定义 XmlUrlResolver 类”。

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

There is no secret sauce. Just Google for "XmlResolver", and you'll find the "System.Xml.XmlResolver class" article. At the bottom, you'll find a link to "Customizing the XmlUrlResolver class".

Use an instance of your custom resolver as the XmlResolver property of the XmlReaderSettings instance that you use in your XmlReader.Create call.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文