根据架构文件验证 xml 后获取错误列表

2024-02-02

我正在根据架构 xsd 验证 XML 文件。到目前为止一切顺利,代码在失败时会生成异常。

        bool isValid = true;
        List<string> errorList = new List<string>();
        try
        {
            XmlReaderSettings settings = new XmlReaderSettings();
            settings.Schemas.Add(null, schemaFilePath);
            settings.ValidationType = ValidationType.Schema;
            XmlDocument document = new XmlDocument();
            document.LoadXml(xml);
            XmlReader rdr = XmlReader.Create(new StringReader(document.InnerXml), settings);
            while (rdr.Read()) { }
        }
        catch (Exception ex)
        {
            errorList.Add(ex.Message);
            isValid = false;
        }

        LogErrors(errorList);
        return isValid;

但我需要代码在将验证中发现的所有错误发送到我的日志之前构建一个列表,而不是始终仅显示找到的第一个错误。

有什么想法吗?


您可以使用Validate method http://msdn.microsoft.com/en-us/library/ms162371.aspx与一个ValidationEventHandler。你可以按照MSDN的方式创建ValidationEventHandler如果需要,可以单独进行,也可以内联进行。

e.g

    //...Other code above
    XmlDocument document = new XmlDocument();
    document.Load(pathXMLCons);
    document.Validate((o, e) => 
                      { 
                          //Do your error logging through e.message 
                      });

如果您不这样做,XmlSchemaValidationException将会被抛出,并且只有那个可以被抓住。

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

根据架构文件验证 xml 后获取错误列表 的相关文章

  • 非模板函数中的尾随返回类型[重复]

    这个问题在这里已经有答案了 我见过有人使用以下语法来实现函数 auto get next gt int 代替 int get next 我理解两者 并且我知道尾随返回类型语法对于使用 decltype 的模板代码很有用 就我个人而言 我会避
  • 来自 double 的 static_cast 可以优化分配给 double 吗?

    我偶然发现了一个我认为不必要的功能 并且通常让我感到害怕 float coerceToFloat double x volatile float y static cast
  • 如何从经过身份验证的 SecurityToken 中获取声明

    我将令牌作为字符串传递到 SOAP 服务中 并验证了该令牌是否有效 我现在有一个 SecurityToken 在调试模式下我可以看到所有声明 特别是我想传递到另一个方法的 userId 声明 我似乎不知道如何获得这些索赔 现在 我解码了令牌
  • 我担心我添加了太多接口

    我正在构建我的领域模型并继续重构它 正如我所做的那样 我发现我喜欢接口 因为它允许我根据接口为具体类型创建可重用的方法 控制器 视图 但是 我发现每次向域实体之一添加新属性时 我都会创建一个接口 例如 我有一个会员状态从抽象继承的对象Ent
  • 用于 C++ 中图像分析的 OpenCV 二进制图像掩模

    我正在尝试分析一些图像 这些图像的外部周围有很多噪声 但内部有一个清晰的圆形中心 中心是我感兴趣的部分 但外部噪声正在影响我对图像的二进制阈值处理 为了忽略噪音 我尝试设置一个已知中心位置和半径的圆形蒙版 从而使该圆之外的所有像素都更改为黑
  • 公交车公共交通算法

    我正在开发一个可以查找公交路线的离线 C 应用程序 我可以提取时间表 巴士 路线数据 我正在寻找适用于基本数据的最简单的解决方案 可以使用什么算法来查找从巴士站 A 到巴士站 B 的路线 是否有适用于 C Java 的开源解决方案 数据库的
  • 大量互斥体对性能的影响

    假设我有一个包含 1 000 000 个元素的数组 以及多个工作线程 每个线程都操作该数组中的数据 工作线程可能会使用新数据更新已填充的元素 但每个操作仅限于单个数组元素 并且独立于任何其他元素的值 使用单个互斥锁来保护整个数组显然会导致高
  • DateTime.ParseExact - 为什么 yy 变成 2015 而不是 1915

    为什么 NET 假定以下年份是 2015 年 而不是 1915 年 var d DateTime ParseExact 20 11 15 dd MM yy new CultureInfo en GB 我想 它会尝试接近 但其背后是否有合理的
  • 如何在 C++ 中正确使用 cin.fail()

    我正在编写一个程序 从用户那里获取整数输入cin gt gt iUserSel 如果用户输入一个字母 程序就会进入无限循环 我试图用下面的代码来阻止这种情况 但程序进入无限循环并打印出 错误 输入 我该如何修复我的程序 cin gt gt
  • 当我尝试传递临时地址作为参数时,它是一个 UB 吗?

    对于以下 C 代码 include
  • 从单应性估计 R/T

    我一直在尝试计算 2 个图像中的特征 然后将这些特征传递回CameraParams R没有运气 特征已成功计算并匹配 但是问题是将它们传递回R t 我明白你必须分解Homography为了使这一点成为可能 我已经使用如下方法完成了 http
  • 在一个解决方案中调用不同项目的方法

    1 个解决方案中有 3 个项目 我对第一个项目中的主文件进行的主要操作 但是我需要调用第三个项目中的方法并使用类 例如 第三个项目有 public DataClasses1DataContext base global WindowsFor
  • Windows Phone 的 JSON 反序列化

    我正在尝试反序列化以下 JSON 但我真的不知道如何使用 JSON net 来完成这项工作 我正在使用 C 和 JSON Net 库 我的 JSON 如下 found 3 bounds 43 54919 172 62148 43 54487
  • 在多线程环境中捕获信号

    我有一个大型程序 需要尽可能具有弹性 并且有大量线程 我需要捕获所有信号SIGBUS SIGSEGV 并在必要时重新初始化有问题的线程 或者禁用该线程以继续减少功能 我的第一个想法是做一个setjump 然后设置信号处理程序 可以记录问题
  • 错误:使用 Microsoft WebService.dll 通过 Delphi7 规范化 XML

    我正在使用 Delphi7 修改旧项目以添加使用证书和签名 经过一番搜索后我发现XML 规范化函数 https learn microsoft com en us previous versions dd815358 v vs 85 但我无
  • 尝试后终于没有被调用

    由于某种原因 在我的控制台应用程序中 我无法运行我的finally 块 我编写这段代码是为了测试finally块是如何工作的 所以它非常简单 static void Main int i 0 try int j 1 i Generate a
  • C++ 中的析构函数

    我的 AB h 文件中有一个构造函数 class AB private int i public AB i 0 constructor AB i 0 destructor virtual void methodA unsigned int
  • 稀疏矩阵超定线性方程组c/c++库

    我需要一个库来解决 Ax b 系统 其中 A 是一个非对称稀疏矩阵 每行有 8 个条目 而且可能很大 我认为实现双共轭梯度的库应该没问题 但我找不到一个有效的库 我尝试过 iml 但 iml sparselib 包中缺少一些标头 有小费吗
  • 使用空的weak_ptr作为参数调用map::count安全吗?

    打电话安全吗map count http www cplusplus com reference map map count on an 未初始化因此为空weak ptr http en cppreference com w cpp mem
  • Adobe Illustrator 中的折线简化如何工作?

    我正在开发一个记录笔划的应用程序 您可以使用定点设备来绘制笔划 在上图中 我绘制了一个笔划 其中包含 453 个数据点 我的目标是大幅减少数据点的数量 同时仍然保持原始笔画的形状 对于那些感兴趣的人 上图笔画的坐标可以作为GitHub 上的

随机推荐

  • 我如何在我的 Connect 4 java 代码中查看获胜者? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我不明白如何在连四中找到获胜者 请告诉我我应该怎么想以及如何在连四中找到获胜者 我应该如何使用 for 循环来找到它们 我应该如何使用
  • BitTorrent 扩展协议

    我正在尝试用java编写自己的bittorrent客户端 这是一个make work项目来刷新我的java技能 我一直停留在开发的某个阶段 尽管有一些用于 BitTorrent 开发的论坛 但它们似乎并不十分活跃 到目前为止我可以执行以下操
  • Android ICS:JNI 错误尝试使用过时的本地引用 0x1

    将我的手机升级到 android 4 03 ics 后 我的游戏不再打开 它只是关闭 设备上没有任何错误消息 在 eclipse 上也有此消息 04 02 16 55 27 672 E dalvikvm 26884 JNI ERROR ap
  • VIM 在quickfix中搜索模式

    基本上我需要创建一个快速修复缓冲区 列出与正则表达式匹配的所有行 什么是最好的方法 全局命令可能不是最好的 但我认为它应该可用 全局命令的输出是完美的 但我需要它超级链接匹配的线 您也可以不使用全局命令并坚持使用内置命令 使用 vimgre
  • 在response.sendRedirect()中传递参数 - JSP

    我是网络技术新手 我正在尝试编写一个简单的程序 要求用户输入名称 如果有效 则页面重定向到另一个 jsp 文件 RedirectIfSuccessful jsp 如果无效则页面重定向到 RedirectIfFailed jsp 我正在使用r
  • 有没有办法访问 Skype IM 日志?

    我尝试查看 C Users name AppData Roaming Skype 发现一个名为 chatsync 的文件夹 其中有一些神秘的文件夹 其中的文件以 dat 结尾 我几乎可以肯定这些是聊天日志 但我不知道如何正确打开这些文件 记
  • 指定为定义者的 MySQL 用户不存在

    我正在尝试使用 php 调用存储过程 前一天这是有效的 但今天我收到一个错误 指定为定义者的用户 用户名 前一天的 ip 不存在 该程序位于主机中 我通过 cpanel 的远程 MySql 授予我的 IP 访问权限 我使用的代码是正确的 取
  • Haskell 中类型和数据类型有什么区别?

    我对 a 之间的区别有点困惑type and a 数据类型在哈斯克尔 从我遇到的文献中我得到的印象是它们是不同的概念 Type and 数据类型指的是完全相同的概念 Haskell 关键字type and data但有所不同 data允许您
  • 如何使用 Gson 反序列化带有可选字段的 json

    我使用 Gson 使用以下代码从给定 API 反序列化 JSON 字符串 Gson gson new Gson Map
  • Codeigniter URL 重写

    我正在使用以下内容htaccess脚本以便我可以隐藏index php来自 URI RewriteEngine on RewriteCond 1 index php resources assets robots txt RewriteCo
  • 如何使具有自定义布局的操作按钮的样式类似于 Android 3.0+ 中的标准操作按钮

    我在使用 honeycomb 操作栏中的自定义操作按钮时遇到了一些麻烦 我正在添加一个使用自定义布局的菜单项 使用 android actionLayout 属性 自定义布局的原因是我想要一个具有两行可以动态更新的文本的按钮 但是 我仍然希
  • 资源 -> 当前项目触发器已从 Apps 脚本代码编辑器中消失

    我使用 资源 gt 当前项目 触发器来控制某些项目的执行时间 例如 我的一些项目会每天早上 4 点左右更新电子表格 现在 当我单击 资源 时 当前项目触发器选项消失了 发生了什么 这个更改是在最后一天左右进行的 因为上次我在做一个项目时它就
  • 采用无服务器的 MoonMail Lambda 架构

    我一直在研究这个项目 因为让整个系统成为 Lambda 函数集合的想法似乎非常有吸引力 事实上 几年前我编写了一些软件 其功能与 MoonMail 几乎相同 并且由于某些规格发生了变化而需要更新 我正在评估将我的软件移植到 Lambda 或
  • concatMap 的作用是什么? [复制]

    这个问题在这里已经有答案了 什么是concatMap做 我知道什么concat and map做 是两者放在一起还是完全不同的功能 是的concatMap函数只是concat and map放在一起 由此得名 将函数放在一起只是意味着组合它
  • 如何使用 C99 标准类型在大多数平台上实现最大的可移植性和效率?

    首先 这是我对这个问题的理解和认为是正确的 对单个变量使用快速数据类型 例如计数器或for循环索引 例如 define LOOP COUNT 100U uint fast8 t index for index 0 index lt LOOP
  • 在 C# 中使用 SmtpClient 发送电子邮件时出现问题

    我有一个 ASP Net MVC 应用程序 我正在尝试发送 HTML 电子邮件 我通过读取带有标记的 HTML 文件 然后替换标记来完成此操作 这部分很好 生成的 HTML 正是我想要的 但是当我发送电子邮件时 我收到的内容看起来像
  • CMake - 将多个库合并为一个

    假设我有可执行文件 A B C 并且有外部库 X Y Z SET EXTERNAL LIB X Y Z TARGET LINK LIBRARIES A EXTERNAL LIB TARGET LINK LIBRARIES B EXTERNA
  • Akka 远程 `system.shutdown()` 导致 EndpointDisociatedException?

    我有简单的客户端和服务器设置 在发送所有异步请求并在服务器确认后的某个时刻 客户端调用system shutdown 这导致服务器akka remote EndpointDisassociatedException和一堆日志错误 如下所示
  • 在跨平台 (Xamarin) 应用程序中使用哪个 IoC 容器? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在 ASP NET 中构建适用于 Windows OSX iOS Windows Mobile An
  • 根据架构文件验证 xml 后获取错误列表

    我正在根据架构 xsd 验证 XML 文件 到目前为止一切顺利 代码在失败时会生成异常 bool isValid true List