LINQ to XML - 尝试通过元素的属性值选择元素列表

2024-01-19

我试图从 XML 文档中获取元素列表,其中节点具有特定的属性值。该文档的结构如下:

<root>
  <node type="type1">some text</node>
  <node type="type2">some other text</node>
  <node type="type1">some more text</node>
  <node type="type2">even more text</node>
</root>

我想要的结果是IEnumerable<XElement>包含 type="type1" 的两个节点,例如

  <node type="type1">some text</node>
  <node type="type1">some more text</node>

我正在使用加载文档var doc = XDocument.Load(@"C:\document.xml");

我可以得到一个IEnumerable<XAttribute>包含我想要使用的节点的属性

var foo = doc.Descendants("node")
    .Attributes("type")
    .Where(x => x.Value == "type1")
    .ToList();

但是,如果我尝试使用下面的代码获取包含这些属性的元素,我会得到一个Object reference not set to an instance of an object.错误。我使用的代码是

var bar = doc.Descendants("node")
    .Where(x => x.Attribute("type").Value == "type1")
    .ToList();

任何有关弄清楚为什么我没有得到我期望的结果的帮助将不胜感激。


如果节点缺少该属性,则可能会发生这种情况。尝试:

 var bar = doc.Descendants("node")
    .Where(x => (string)x.Attribute("type") == "type1")
    .ToList();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LINQ to XML - 尝试通过元素的属性值选择元素列表 的相关文章

随机推荐

  • UIImagePickerController AVAudioPlayer

    当我打开一个UIImagePickerController 我可以显示设备的摄像头输入流 但是当我玩一个AVAudioPlayer with player play 然后相机停止工作 我该如何处理呢 你不能 因为 UIIMagePicker
  • Zend 框架布局

    我从 Zend Framework 开始 我想了解 Bootstrap 文件 我已经全部学会了 init方法默认执行 但对我来说似乎很困惑 无论如何 这不是我想问的 A 来到了周围 this gt bootstrap layout 行动 我
  • 如何在Polymer Starter Kit中设置baseUrl?

    如何在Polymer Starter Kit light version 中设置baseUrl 相似的 将 Polymer App 提供给非根目录的 path https stackoverflow com questions 420900
  • 在低于 21 的较低 api 级别中,translationZ 的替代方案是什么

    我正在使用 TranslationZ 将图像视图放在相对布局之上 但似乎 android translationZ 2dp 在 api 级别 21 以下不起作用 有什么替代方案吗 PFB代码 RelativeLayout layout ma
  • 如何判断 NSDate 是否是今天?

    如何检查是否NSDate属于今天 我曾经使用前 10 个字符来检查它 aDate description aDate description substringToIndex 10 返回类似字符串 YYYY MM DD 所以我将字符串与返回
  • Rails 4.0 中为删除操作创建 link_to 时出现的问题

    这是我在 Rails 中的第一个项目 它是创建一个用于存储游戏数据的表 我可以显示表格中有关获胜者得分 失败者得分等的数据 但是 我的表格列存在问题 其中包含每个游戏的删除链接 这是我在游戏控制器中用于删除方法的代码 def delete
  • Cassandra 2.1:通过嵌套 UDT 进行递归

    我正在研究用户定义的类型 发现你可以这样做 cqlsh test gt CREATE TYPE ping time timestamp cqlsh test gt CREATE TYPE pong time timestamp ping f
  • 缩短 PHP 字符串的长度并插入省略号

    我想把一根长绳子变成这样reallyreallyreallyreallyreallylongfilename变成类似的东西reallyreallyre yreallyreally 基本上 找到字符串的中间并替换其中的所有内容 直到字符串的长
  • JavaScript 空格语法错误

    为什么这会导致 return 语句出现语法错误 var FOO function return init function jQuery 然而这并没有 var FOO function return init function jQuery
  • 如何使用 JavaScript 将 SVG 图像文件放入 HTML 中

    我有一个 SVG 图像文件 我想将其作为 SVG 放入 HTML 页面中 所以我仍然利用高分辨率放大 缩小的优势 这是我的代码 我把SVG放在里面 放在SVG里面 代码运行正确 但浏览器中没有出现 SVG 我怎样才能展示它 有没有什么方法可
  • 为什么我们不能使用友元函数重载“=”?

    为什么不允许使用友元函数重载 我写了一个小程序 但它给出了错误 class comp int real int imaginary public comp real 0 imaginary 0 void show cout lt lt Re
  • 何时过滤/清理数据:在数据库插入之前还是在显示之前?

    当我准备解决输入数据过滤和清理问题时 我很好奇是否有最佳 或最常用 的做法 是在将数据插入数据库之前过滤 清理数据 HTML JavaScript 等 更好 还是应该在准备以 HTML 形式显示数据时进行过滤 清理 一些注意事项 我正在 P
  • Rails 4 - ajax:成功未被触发

    我通过ajax提交表单 我可以在Chrome的网络面板中看到它成功并返回了一些JSON 但是 ajax success 事件永远不会被触发 为什么 Does not work despite getting success in the N
  • IIS 与 Windows 身份验证绑定

    我有一个本地网站 http localhost 测试站点 http localhost testsite 与 Windows 身份验证 效果很好 现在我将网站的绑定更改为 URL http testsite blablabla biz ht
  • 如何正确格式化QCompleter弹出列表的列表项?

    我想研究如何制作一个小型用户界面 用户可以在其中输入一些字母并根据给定的数据源 此处列出 获取一些建议 从而使搜索变得更容易 为此 我使用 Qt 的QCompleter class 在匹配元素中 键入的字母应使用 HTML 突出显示 如下面
  • 路径前缀 \??\ 和 \\?\

    前缀为 的路径有什么区别 以及那些前缀为 在 Windows 7 CMD 行 DIR 给出 Volume 00000000 0000 0000 0000 000000000000 WMIC 音量列表给出 Volume 00000000 00
  • 移动学生如何有效地使用带有源代码控制系统的 Dropbox?

    我买了一台笔记本电脑 为下个学期做准备 这将使我在全职工作的同时参加大学编程课程 当然 我会使用源代码控制系统 可能是 Subversion 并想到在我的 Dropbox 文件夹中创建我的存储库 这将使我能够使用我的笔记本电脑或台式机 或者
  • 错误:“y_true 中的类数不等于 'y_score' 中的列数”

    我有一个不平衡的多类数据集 当我尝试计算 roc auc score 时 我收到此错误 ValueError y true 中的类数不等于 y score 中的列数 这是代码 model svm SVC kernel linear prob
  • 使用 Firefox Addon SDK 列出所有驱动器

    是否有跨操作系统的方法来使用 firefox addon sdk 列出所有已安装驱动器 硬盘 USB 驱动器等 的路径 我找到了适用于 Windows 的代码 但找不到跨操作系统的解决方案 Components utils import r
  • LINQ to XML - 尝试通过元素的属性值选择元素列表

    我试图从 XML 文档中获取元素列表 其中节点具有特定的属性值 该文档的结构如下