如何在 C# 中根据 DTD 验证 XML 文档?

2023-11-23

我不想做任何花哨的事情,我只想确保文档有效,如果无效则打印错误消息。谷歌向我指出this,但似乎 XmlValidatingReader 已经过时了(至少 MonoDevelop 是这么告诉我的)。

编辑:我正在尝试迈赫达德的建议,但遇到了麻烦。我想我已经掌握了大部分内容,但我在任何地方都找不到 OnValidationEvent 。我从哪里获取 OnValidationEvent?

XmlReaderSettings settings = new XmlReaderSettings();
settings.ValidationType = ValidationType.DTD;
settings.ValidationEventHandler += new ValidationEventHandler(/*trouble is here*/);
XmlReader validatingReader = XmlReader.Create(fileToLoad, settings);

而不是创造XmlValidatingReader class直接,你应该构造一个合适的XmlReaderSettings object并将其作为参数传递给XmlReader.Create method:

var settings = new XmlReaderSettings { ValidationType = ValidationType.DTD };
settings.ValidationEventHandler += new ValidationEventHandler(OnValidationEvent);
var reader = XmlReader.Create("file.xml", settings);

其余不变。

P.S. OnValidationEvent是您声明的用于处理验证事件的方法的名称。显然,如果您不想订阅由XmlReader.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 C# 中根据 DTD 验证 XML 文档? 的相关文章

  • .NET 可移植类库中的 .ToShortDateString 发生了什么

    我想知道为什么没有 ToShortDateString在 NET 可移植类库中 我有 2 个项目 Silverlight 和常规 NET 类库 使用相同的代码 并且代码涉及调用 ToShortDateString on a DateTime
  • 有没有比这更快的方法来查找目录和所有子目录中的所有文件?

    我正在编写一个程序 需要在目录及其所有子目录中搜索具有特定扩展名的文件 这将在本地驱动器和网络驱动器上使用 因此性能是一个问题 这是我现在使用的递归方法 private void GetFileList string fileSearchP
  • 在 Windows Phone 上启动 pdf 文件时出现 System.Runtime.InteropServices.COMException

    我正在尝试使用我之前在另一个应用程序上使用过的以下工作代码打开 pdf 文件 但这一次 当流程到达此行时 我收到 System Runtime InteropServices COMException Windows System Laun
  • 浮点提升:stroustrup vs 编译器 - 谁是对的?

    在 Stroustrup 的新书 C 编程语言 第四版 第 10 5 1 节中 他说 在执行算术运算之前 整数提升用于从较短的整数类型创建整数 类似地 浮点提升是用于从浮点数创建双精度数 我用以下代码确认了第一个声明 include
  • Linq Where 本地计数器关闭在 VS watch 中的结果不同

    我尝试删除前 3 个元素array与 LinQWhere扩展功能 这是一个例子 var array new 1 2 3 4 5 6 7 8 9 var count 3 var deletedTest1 0 var test1 array W
  • C++ 在 Vector 中使用不可分配的对象

    我想将对象列表存储在std vector 但对象包含引用且无法分配给 但是 我可以复制构造该对象 我能想到的唯一选择是使用指针来包装对象并在需要分配指针时重新设置指针 但这样做的语法会显着降低可读性 特别是在使用迭代器时 我更喜欢另一种选择
  • 使用 XSLT 检查空 XML 元素

    我有以下 XML
  • asp.net mvc jquery 下拉验证

    我如何使用不显眼的 javascript 验证下拉列表 作为所需验证器的验证文本框 但它不适用于下拉列表 需要更改不显眼的 js 文件吗 或者还有其他选项来验证下拉列表吗 我想在我的 javascript 中检查 form validate
  • 在生产者-消费者情况下使用条件变量

    我正在尝试了解条件变量以及如何在生产者 消费者情况下使用它 我有一个队列 其中一个线程将数字推入队列 而另一个线程从队列中弹出数字 当生产线程放置一些数据时 我想使用条件变量向消费线程发出信号 问题是有时 或大多数时候 它只将最多两个项目推
  • C#:如何使用 SHOpenFolderAndSelectItems [重复]

    这个问题在这里已经有答案了 有人可以举例说明如何使用 shell 函数吗SH打开文件夹并选择项目 http msdn microsoft com en us library bb762232 VS 85 aspx来自 C 我不太明白如何使用
  • 在可观察项目生成时对其进行处理

    我有一个IObservable它会生成一次性物品 并且在其生命周期内可能会生成无限数量的物品 因此 我想在每次生成新项目时处理最后一个项目 因此Using http reactivex io documentation operators
  • 为什么我不能在扩展 List 的类中调用 OrderBy?

    我有一堂课 Deck 其中包含一个名为的方法Shuffle 我正在致力于重构Deck延长List
  • 在 MVVM 中,可以在视图后面的代码中访问 ViewModel 吗?

    在 MVVM 模式中 是否可以接受甚至可以访问视图代码后面的 ViewModel 属性 我有一个可观察的集合 它填充在 ViewModel 中 我需要在视图中使用它来绑定到带有链接列表的无限滚动条 IE private LinkedList
  • SSBO 是更大的 UBO?

    我目前正在 OpenGL 4 3 中使用 UBO 进行渲染 以将所有常量数据存储在 GPU 上 诸如材料描述 矩阵等内容 它可以工作 但是 UBO 的小尺寸 我的实现为 64kB 迫使我多次切换缓冲区 减慢渲染速度 我正在寻找类似的方法来存
  • 删除对象时指针自动指向空

    假设我有一个对象和其他几个不同类类型的对象中的 10 个指向它的指针 如果对象被删除 这些指针必须设置为空 通常我会将对象的类与具有指向它的指针的类互连 以便它可以通知它们它正在被删除 并且它们可以将它们的指针设置为空 但这也有一个负担 即
  • 在 unix 中编译 dhrystone 时出错

    我是使用基准测试和 makefile 的新手 我已经从下面的链接下载了 Dhrystone 基准测试 我正在尝试编译它 但我遇到了奇怪的错误 我尝试解决它 但没有成功 有人可以帮助我运行 dhrystone 基准测试吗 以下是我尝试编译的两
  • 多个同名内存数据库

    关系到这个答案 https stackoverflow com a 48446491 596758 我试图通过设置让多个上下文工作UseInMemoryDatabase以同名 下面的测试失败 第二个上下文为空 我还需要做什么才能在内存数据库
  • 如何使复选框不可选择?

    我想知道你是怎么做的CheckBox在c 中无法选择 我认为这会是类似 SetSelectable false 之类的东西 但我似乎看不到该方法 I found CanSelect但这似乎是只读属性 您可以设置自动检查 http msdn
  • Windows 上 libcurl 的静态库[重复]

    这个问题在这里已经有答案了 如何将此库 libcurl 静态链接到 exe 我努力了 disable share enable static 没有帮助 我使用的是MingW32 有没有一种简单的方法来静态链接这个库 这样我的应用程序就不再有
  • Page_ClientValidate 正在验证多次。

    我的问题是 验证摘要消息 警报 显示两次 我无法弄清楚原因 请帮忙 这是代码 function validate javascript function if typeof Page ClientValidate function var

随机推荐

  • Javascript 字符串对象只读?

    a new String Hello a 0 H true a 0 J a 0 J false a 0 H true 这是否意味着我只能使用字符串作为字符数组 split 进而 join ANSWER 是的 在Javascript stri
  • 使用依赖注入注入依赖注入器

    对于依赖注入来说相当陌生 我试图弄清楚这是否是一种反模式 假设我有 3 个程序集 Foo Shared this has all the interfaces Foo Users references Foo Shared Foo Paym
  • @RefreshScope 不工作 - Spring Boot

    我正在遵循此处描述的方法 https github com jeroenbellen blog manage and reload spring properties 唯一的区别是 就我而言 这些属性在多个类中使用 因此我将它们全部放在一个
  • Facebook 登录建议需要 HTTPS - 如何在 ASP.NET MVC 中为 Facebook 登录配置 HTTP 重定向 URL?

    Facebook 建议我使用 HTTPS 重定向 URL 而不是 HTTP 我一直在尝试找到一种方法来配置它来生成 HTTPS URL 目前它正在生成 HTTP URL http example com signin facebook sc
  • 数组的大小是在编译时确定的吗?

    当我在阅读有关数组初始化的内容时本教程 我发现了这个注释 type name elements 注意 方括号内的元素字段 表示数组中元素的数量 必须是常量表达式 因为数组是静态内存块 其大小必须在程序运行之前的编译时确定 据我所知 数组在运
  • 检查一个字符是否是Java中的特殊字符[重复]

    这个问题在这里已经有答案了 可能的重复 JAVA 检查字符串中是否有特殊字符 我是一名新手程序员 正在寻求帮助确定某个字符是否是特殊字符 我的程序要求用户输入文件名 程序读取文件中的文本并确定文本中有多少个空格 数字 字母和特殊字符 我已完
  • LARAVEL5 自定义登录

    我正在使用需要自定义登录的应用程序 我必须遵循这个流程 用户将进入登录页面 用户提交登录页面 应用程序将检查用户是否在数据库中 3 1 如果用户不在数据库中 会向第三方发送请求 检查是否登录成功 3 2 如果用户在数据库中 则验证密码 现在
  • statsmodel 中的 MNLogit 返回 nan

    我正在尝试在著名的虹膜数据集上使用 statsmodels 的 MNLogit 函数 当我尝试拟合模型时 我得到 当前函数值 nan 这是我正在使用的代码 import statsmodels api as st iris st datas
  • 有没有任何工具可以比较两个网页的结构?

    我从我们的创意团队收到 HTML 页面 然后使用它们构建 aspx 页面 我经常面临的一项挑战是让我输出的 HTML 与他们的完全匹配 我几乎总是把嵌套搞砸 div 位于我的页面和母版页之间 有谁知道在这种情况下有帮助的工具 可以比较两个页
  • 模拟输入上的点击事件 - JavaScript

    我试图通过点击来模拟输入标签的点击anchor标签 这样我可以隐藏输入并将图像包装在锚标签内 这可以使用 jQuery 触发函数来工作 但我不能让它只使用 普通 Javascript jQuery 版本 let fake fake fake
  • C# 中的柯里化表达式

    我正在尝试构建一个可以输入 Linq2SQL 的表达式树 以便它将生成一个漂亮的干净查询 我的目的是构建一个过滤器 将任意单词集与 AND 和 NOT 或 OR 和 NOT 结合在一起 因为我想改变我搜索的字段 所以我最好想组成一个列表Ex
  • 无法在 Mac High Sierra 上打开 UIAutomatorviewer

    我们有配备 High Sierra 10 13 6 的全新 MacBook 其他系统信息 JAVA Version java version 11 0 1 2018 10 16 LTS Java TM SE 运行时环境 18 9 内部版本
  • 在 Android 中创建带有可点击图像的网格视图

    我想创建一个带有可单击图像的网格视图 每当单击图像时 相应的值就会显示在网格视图下方 我面临的问题是在设计部分 我不知道如何设计这样的网格视图 每次我尝试这样做时 都会得到一些不好的结果 我目前还没有 Android UI 设计经验 我怎样
  • 使用 EmptyWorkingSet 有哪些副作用?

    我使用下面的代码来释放某些正在运行的程序的内存 因为我自己的程序需要大量内存资源才能运行得更快 DllImport psapi dll public static extern bool EmptyWorkingSet IntPtr hPr
  • 在 Python 中建模时检测多共线性或具有线性组合的列:LinAlgError

    我正在为具有 34 个因变量的 logit 模型进行数据建模 并且它不断抛出奇异矩阵错误 如下所示 Traceback most recent call last File
  • iowin32.h 中的 OF 宏

    我无法理解 minizip 的 iowin32 h 中的以下行 void fill win32 filefunc OF zlib filefunc def pzlib filefunc def Source 过时但仍然相关 什么是OF宏呢
  • Spring Boot (JAR),具有多个调度程序 servlet,用于使用 Spring Data REST 的不同 REST API

    我有一个项目 它使用 Spring Boot 生成一个可执行 JAR 该 JAR 通过 Spring Data REST 公开 REST API 它还与 Spring Security OAuth 集成 效果很好 我的问题如下 我希望为 R
  • Powershell-SetForegroundWindow

    使用 powershell 代码 我尝试更改窗口的位置 工作正常 并将该窗口 始终位于顶部 请在下面找到我的代码 Import Module C install WASP wasp dll for i 1 i le 300000 i all
  • 为什么我的 React 组件渲染了两次?

    我不知道为什么我的 React 组件渲染了两次 因此 我从 params 中提取电话号码并将其保存到 state 中 以便我可以通过 Firestore 进行搜索 一切似乎都工作正常 除了渲染两次 第一次渲染电话号码和零点 第二次渲染时所有
  • 如何在 C# 中根据 DTD 验证 XML 文档?

    我不想做任何花哨的事情 我只想确保文档有效 如果无效则打印错误消息 谷歌向我指出this 但似乎 XmlValidatingReader 已经过时了 至少 MonoDevelop 是这么告诉我的 编辑 我正在尝试迈赫达德的建议 但遇到了麻烦