- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我需要加载一些顶部有这个的 xhtml 文件:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
每个文件都将加载到单独的 System.Xml.XmlDocument 中。由于 DOCTYPE 声明,它们需要很长时间才能加载。我尝试设置 XmlResolver = null,但随后我抛出了 XmlException,因为我有无效的实体(例如,“)。所以我想我可以只为第一个 XmlDocument 下载 DTD,并以某种方式为后续的 XmlDocument 重用它(从而避免性能下降),但我不知道该怎么做。
我正在使用 .Net 3.5。
谢谢。
最佳答案
我认为您应该能够使用 XmlPreloadedResolver
解决此解析器问题.但是,我自己很难让它工作。看起来 XHTML 1.0 更容易支持,因为它是一个“已知的”DTD:XmlKnownDtds
而 XHTML 1.1 目前还不是“已知的”,这意味着您必须重新加载一堆 URI。
例如:
XmlPreloadedResolver xmlPreloadedResolver = new XmlPreloadedResolver(XmlKnownDtds.Xhtml10);
xmlPreloadedResolver.Add(new Uri("http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"), File.ReadAllBytes("D:\\xhtml11.dtd"));
xmlPreloadedResolver.Add(new Uri("http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-inlstyle-1.mod"), File.ReadAllBytes("D:\\xhtml-inlstyle-1.mod"));
xmlPreloadedResolver.Add(new Uri("http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-framework-1.mod"), File.ReadAllBytes("D:\\xhtml-framework-1.mod"));
xmlPreloadedResolver.Add(new Uri("http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-text-1.mod"), File.ReadAllBytes("D:\\xhtml-text-1.mod"));
xmlPreloadedResolver.Add(new Uri("http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-hypertext-1.mod"), File.ReadAllBytes("D:\\xhtml-hypertext-1.mod"));
xmlPreloadedResolver.Add(new Uri("http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-list-1.mod"), File.ReadAllBytes("D:\\xhtml-list-1.mod"));
xmlPreloadedResolver.Add(new Uri("http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-edit-1.mod"), File.ReadAllBytes("D:\\xhtml-edit-1.mod"));
xmlPreloadedResolver.Add(new Uri("http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-bdo-1.mod"), File.ReadAllBytes("D:\\xhtml-bdo-1.mod"));
xmlPreloadedResolver.Add(new Uri("http://www.w3.org/TR/ruby/xhtml-ruby-1.mod"), File.ReadAllBytes("D:\\xhtml-ruby-1.mod"));
xmlPreloadedResolver.Add(new Uri("http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-pres-1.mod"), File.ReadAllBytes("D:\\xhtml-pres-1.mod"));
// TODO: Add other modules here (see the xhtml11.dtd for the full list)
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.XmlResolver = xmlPreloadedResolver;
xmlDocument.Load("D:\\doc1.xml");
关于c# - 如何通过DOCTYPE加速加载DTD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3733255/
有很多线程解释了选择什么 Doctype,但我找不到任何解释实际语法的线程。举个例子: 特别是: PUBLIC 是否可以替换为其他值,是什么意思? 为什么 url 需要用引号括起来? 是什么 ”-”
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and th
我正在尝试制作 100% 高度的东西,但添加文档类型会破坏它。这在 other questions 上进行了解释. 然而,我发现了一些奇怪的事情——如果我关闭 doctype 标签(我知道你不应该这样
美好的一天, 我正在开发一个 C# Web 应用程序,一切正常,直到我添加普通的 JavaScript。 html代码如下: JScript.js是放入的 JavaS
我有一个主要的框架集页面,它使用 FRAMESET 文档类型..现在它里面有 3 个框架.. 现在对于第 2 帧,我想使用一些 HTML5 代码 ()...所以我想我必须使用 doctype 现在我的
我正在制作一个网页,我即将完成,所以我决定通过一个 html 验证器来验证它,但我的页面出现了一堆错误。我的页面目前适用于 ...但是当我输入 我页面的间距中断。 示例:工作时的图片 代码: 当我添
我刚刚在 W3C 验证器上检查了我的个人登陆页面以确保它是正确的 HTML5,然后发现我需要 而不是 通过。 但是背景图片不会延伸到底部。我已经尝试了 wrapper 的最小高度,并清除了,但似乎没有
这是文档类型所在的文件: Taekwendo tinymce.init({ selector: '#art
这是我的问题的 html 代码 Insert title here var arr = [ "A", "B", "C" ]; for (var i = 0; i 在
我在抓取一些具有多个 声明的网站时遇到了困难。 。 我正在使用带有 requests 的 Python 2.7.9 和来自 bs4 的 BeautifulSoup。当我执行 requests.get
我刚刚在 Windows Server 2008 上创建了一个新的 IIS 网站,以便使用它来部署新网站。 该网站仍然是空的。 如果我尝试在“管理工具”下打开 IIS Web 平台安装程序,则会遇到错
是否有使用 HTML 5 文档类型的专家 ,即使我没有使用任何新的 HTML 5 标签?即使我没有使用任何新的 HTML 5 标签,用 HTML 5 文档类型替换 XHTML 文档类型有什么好处吗?
假设我想将旧网站更改为“HTML5”风格。简单地更改标题是否安全 doctype如下? 原始文档类型可能是: 或 如果改为不可能破坏遗留网页的呈现方式,我认为它是安全的。 最佳答案 为什么是的,
通过在 windows 命令提示符下运行以下命令创建了一个全新的 express.js 项目 npm install express -g express newproject cd newproje
我懂了 DOCTYPE is disallowed when the feature "http://apache.org/xml/features/disallow-doctype-decl" se
这个问题在这里已经有了答案: background-color property doesn't work correctly with HTML5 DOCTYPE [duplicate] (1
我在没有使用 Doctype 的情况下构建了我的页面,但是没有它我可以获得我期望的结果。 即使用户尝试调整窗口大小时,我也尝试每行列出 4 张图像并填充页面。 问题是我最近添加了 Doctype,这里
我注意到我的一个 html 表单存在问题,文本输入字段被截断了。我将其原因缩小到我们在页面顶部使用的 指令。 当我排除 指令时,下面场景中的输入正确呈现,这意味着文本输入字段被完整绘制。但是当我按
我知道很多人在切换到 时遇到类似的问题行,然而,我已经尝试了所有的方法,甚至是经典的 html{height: 100%;} body {min-height: 100%;} 方法,以及其他方法,但
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: How to replace with in an html file 我在我的
我是一名优秀的程序员,十分优秀!