确定 xml 文件是否包含数据 - c#

2024-02-05

我如何知道我的 XML 文件是否还包含名称空间信息之外的数据:

一些文件包含以下内容:

<?xml version="1.0" encoding="UTF-8"?>

如果我遇到这样的文件,我想将该文件放在错误目录中


您可以使用 XmlReader 来避免 XmlDocument 的开销。在您的情况下,您将收到异常,因为根元素丢失。

string xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
using (StringReader strReader = new StringReader(xml))
{
    //You can replace the StringReader object with the path of your xml file.
    //In that case, do not forget to remove the "using" lines above.
    using (XmlReader reader = XmlReader.Create(strReader))
    {
        try
        {
            while (reader.Read())
            {
            }
        }
        catch (XmlException ex)
        {
            //Catch xml exception
            //in your case: root element is missing
        }
    }
}

您可以在检查第一个节点后在 while(reader.Read()) 循环中添加一个条件,以避免读取整个 xml 文件,因为您只想检查根元素是否丢失。

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

确定 xml 文件是否包含数据 - c# 的相关文章

  • Windows 上使用 g++ 的 Makefile,链接库

    我已经厌倦了 MSVC 6 以及每个人总是告诉我它是一个蹩脚的编译器等等 所以现在我决定尝试使用 vim 加 g 和 makefile 这是我的问题 我有以下 makefile This is supposed to be a commen
  • DispatcherTimer 未按时执行

    我正在使用 c 中的 DispatchTimer 编写一个时钟应用程序 但由于某些原因 我的时钟似乎时不时地跳过 1 秒 例如 52 秒 gt 54 秒 跳过 53 秒 在我看来 计时器并不是每秒都执行一次 DispatcherTimer
  • 必须打开存储才能执行此操作 - System.IO.Packaging.Package

    我正在使用 System IO Packaing Package 类来压缩文件 我的应用程序的多个实例可以同时运行 并读取和保存文件 当处理小文件时 一切似乎都很好 但是当涉及大文件时 如果应用程序的两个实例同时保存 我会收到一个异常 消息
  • SetWindowsHookEx 函数返回 NULL

    我正在研究 DLL 注入 但收到错误如下 挂接进程失败 87 参数不正确 目标进程和dll都是64位的 注入代码为 BOOL HookInjection TCHAR target TCHAR dll name https msdn micr
  • 检查列表是否包含另一个列表。 C#

    编辑 只是说 ContainsAllItem 中的注释解释得最好 很抱歉问这个问题 我知道以前有人问过这个问题 但我只是不明白 好的 所以我想检查一个列表是否包含另一个列表中的所有项目WITHOUT重叠 以及根据类字符串 名称变量 称为项目
  • WebClient读取错误页面的内容

    我有一个加载页面内容的应用程序 我使用 WebClient 类 即使服务器返回 404 500 等错误 我也需要检索内容 我需要这样的东西 WebClient wc new WebClient string pageContent try
  • 关闭 XDOCUMENT 的实例

    我收到这个错误 该进程无法访问文件 C test Person xml 因为它是 被另一个进程使用 IOException 未处理 保存文件内容后如何关闭 xml 文件的实例 using System using System Collec
  • 为什么假设 send 可能返回的数据少于在阻塞套接字上传输的请求数据?

    在流套接字上发送数据的标准方法始终是调用 send 并写入一大块数据 检查返回值以查看是否发送了所有数据 然后再次调用 send 直到整个消息被接受 例如 这是一个常见方案的简单示例 int send all int sock unsign
  • rand() 播种与 time() 问题

    我很难弄清楚如何使用 rand 并使用 Xcode 用 time 为其播种 我想生成 0 到 1 之间的随机十进制数 该代码为我提供了元素 1 和 2 看似随机的数字 但元素 0 始终在 0 077 左右 有什么想法吗 我的代码是 incl
  • 将 C# 反射代码移植到 Metro-Ui

    我正在尝试移植使用反射的现有 C 类 通用工厂 但我无法编译这段代码 Type types Assembly GetAssembly typeof TProduct GetTypes foreach Type type in types i
  • C 中的模仿函数重写

    具体来说 函数重写能够调用基本重写方法 这有两部分 一个是预编译的库代码 1 另一个是库的用户代码 2 我在这里实现了一个尽可能最小的经典 Person 和 Employee 示例 非常感谢了解 OOP 概念的铁杆 C 开发人员的回应 我正
  • 使用反射获取基类的受保护属性值

    I would like to know if it is possible to access the value of the ConfigurationId property which is located in the base
  • 用 C# 制作 Vista 风格的应用程序

    我正在运行 Windows Vista 并且希望外观看起来像常规 Vista 程序 有没有关于如何构建 Vista 风格应用程序的真正好的教程 文章 我还想学习如何使用本机代码并将其转换为 C 如this http bartdesmet n
  • Microsoft.Graph - 如何从具有不同用户名的共享邮箱发送?

    我目前正在将使用 SMTP 的服务代码移植到 Office 365 通过 SMTP 我可以使用 发件人 字段在来自共享收件箱的邮件上设置不同的用户名 同时保留共享电子邮箱地址 这似乎无法通过 Office 365 运行 其工艺流程为 客户填
  • 在“using”语句中使用各种类型 (C#)

    自从C usingstatements只是try finally dispose 的语法糖 为什么它接受多个对象仅当它们属于同一类型时 我不明白 因为它们需要的只是 IDisposable 如果它们都实现 IDisposable 应该没问题
  • 为什么重载方法在 ref 仅符合 CLS 方面有所不同

    公共语言规范对方法重载非常严格 仅允许根据其参数的数量和类型来重载方法 如果是泛型方法 则根据其泛型参数的数量进行重载 根据 csc 为什么此代码符合 CLS 无 CS3006 警告 using System assembly CLSCom
  • Dynamics Crm:获取状态代码/状态代码映射的元数据

    在 Dynamics CRM 2011 中 在事件实体上 状态原因 选项集 也称为状态代码 与 状态 选项集 也称为状态代码 相关 例如看这个截图 当我使用 API 检索状态原因选项集时 如下所示 RetrieveAttributeRequ
  • 将一个 long 转换为两个 int 以进行重构

    我需要将一个参数作为两个 int 参数传递给 Telerik Report 因为它不能接受长参数 将 long 拆分为两个 int 并在不丢失数据的情况下重建它的最简单方法是什么 使用掩蔽和移位是最好的选择 根据文档 long 保证为 64
  • 程序退出后,TcpListener Socket 仍处于活动状态

    当我的程序退出时 我试图停止 TCP 侦听器 我不关心套接字或任何活动客户端套接字上当前活动的任何数据 套接字清理代码本质上是 try myServer Server Shutdown SocketShutdown Both catch E
  • 使用剪贴板 SetText 换行

    如何使用 SetText 方法添加换行符 I tried Clipboard SetText eee n xxxx 但当我将剪贴板数据粘贴到记事本中时 它没有给我预期的结果 预期结果 eee xxxx 我怎样才能做到这一点 Windows

随机推荐

  • 将文本框中的字符串转换为 dd/mm/yyyy 日期

    如何将文本框中的字符串转换为 dd mm yyyy 日期形式 我的意思是 Date d Date textBox Text 我想将它用作 SQL 中的参数Date数据类型如下 command Parameters Add new Npgsq
  • iOS EventKit - 事件未从日历中删除

    我正在使用以下代码删除事件 store requestAccessToEntityType EKEntityTypeEvent completion BOOL granted NSError error if granted EKEvent
  • C:函数调用时传递参数时的类型转换

    来自 C 编程语言 第二版 由于函数调用的参数是表达式 因此当参数传递给函数时也会发生类型转换 如果没有函数原型 char 和short 会变成int float 会变成double 通过阅读文本 我得到的印象是 除非您使用强制转换或函数原
  • 计算花费的时间总和

    我有一个 SQL 查询来计算并发作业所花费的时间 这是查询 SELECT user concurrent program name DECODE phase code C Completed phase code phase code DE
  • 向 UIView 添加渐变的现代技术

    我知道向 UIView 添加背景渐变的几种方法 我想知道最有效和可扩展的方法是什么 为什么 以下是我使用过的技术 创建 UIView 的子视图并覆盖drawRect 我在其中在当前上下文中绘制渐变 A 当使用上面的渐变时 用视图边界创建它
  • Python - 如何强制使用工厂方法来实例化对象?

    我有一组相关的类 它们全部继承自一个基类 我想使用工厂方法来实例化这些类的对象 我想这样做是因为这样我可以在将对象返回给调用者之前将对象存储在以类名为键的字典中 然后 如果有对特定类的对象的请求 我可以检查我的字典中是否已存在该对象 如果没
  • AWS Lambda Node.js 全 ICU

    我使用以下命令在本地运行 node js 应用程序 node icu data dir node modules full icu app local js 如何在AWS Lambda环境中指定icu data dir Thanks 您应该
  • JPA 将 STRING 列值连接成单个值,就像聚合函数一样

    是否可以使用 JPA 拥有一个自定义聚合函数来扩展 concat 以便将列值连接成单个字符串 我最近在使用 JPA 和 H2 数据库时遇到了同样的问题 我试着打电话给组连接 http www h2database com html func
  • 有没有办法在 cocoapods 中使用拉取请求?

    有了 swift 3 许多 cocoapods 都在努力跟上每个测试版带来的变化 有时这些更改不会很快合并到分支中 在这些情况下 有没有办法使用分支的拉取请求 例子 https github com MengTo Spring pull 1
  • 为什么 Ubuntu docker 镜像不是虚拟机 [重复]

    这个问题在这里已经有答案了 我明白了虚拟机和容器之间的巨大区别 但这让我对 Ubuntu 容器如何存在感到困惑 这对我来说感觉很矛盾 因为 Ubuntu 是一个操作系统 https hub docker com ubuntu https h
  • 未知属性 onItemSelected/onCheckedChanged

    我创建了 SwitchCompat 并添加了android onCheckedChanged 一切正常 但 Android Studio 将此属性标记为警告 描述 未知属性 android onCheckedChanged AppCompa
  • java中的ESC/POS图像

    我需要在热敏打印机 SAM4S ELLIX40 中打印此图像 我一直在搜索和测试几个代码 但实际上没有任何效果 他们说 使用这个命令 你会看到一行 我发送了它 但没有任何反应 我尝试了手册中的命令 ESC m nL nH d1 dk GS
  • 字典键和 eval 中的破折号

    在我被 评估是邪恶 的人群打死之前 在这种情况下这是必要的邪恶 我无法改变它 Eval 有其用途 并且在严格控制的环境中它非常强大 然而 我有一个没有明显解决方案的问题 我希望能够跳出框框思考 gt gt gt mydict a b woo
  • Backbone.js Collection.create 并覆盖 Model.set

    我有一个主干模型 我在其中更改了 set 方法来计算模型每组的额外属性 根据文档 这应该是调用 super 的方式 以确保模型确实被保存 Backbone Model prototype set call this attributes o
  • 按空格分割字符串[重复]

    这个问题在这里已经有答案了 无论空格有多长 如何通过空格分割字符串 例如 来自以下字符串 the quick brown fox jumps over the lazy dog 我会得到一个数组 the quick brown fox ju
  • Vue 3:resolveComponent 只能在 render() 或 setup() 中使用

    我正在尝试在 Vue 3 中渲染一个模板 该模板包含一个组件 该组件在实例上本地注册 import template from template import RenderlessPagination from RenderlessPagi
  • Bash - 如果子节点的属性值不等于特定值,则删除 XML 节点?

    我有 RSS 提要 如下所示
  • 给定背景颜色,黑色还是白色文本?

    我正在尝试找到一种方法来确定在给定背景颜色 作为十六进制值 的情况下是否使用黑色或白色文本 以前有人处理过这个吗 有没有有效的方法来做到这一点 就我而言 我将使用 PHP 来实现逻辑 尽管任何使用其他语言的经验都是受欢迎的 亮度对比算法 我
  • JSF-将参数传递给 valuechangelistener

    我有一个像这样的小单选按钮
  • 确定 xml 文件是否包含数据 - c#

    我如何知道我的 XML 文件是否还包含名称空间信息之外的数据 一些文件包含以下内容 如果我遇到这样的文件 我想将该文件放在错误目录中 您可以使用 XmlReader 来避免 XmlDocument 的开销 在您的情况下 您将收到异常 因为根