linq-to-xml - LINQ to XML 选择不等于某个值的属性值
问题描述
为什么这不起作用?我正在尝试选择状态值不是“0”的属性。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
<Auth status="0"></Auth>
<Modify status="601"></Modify>
</response>
LINQ 转 XML
var errorcodeList = xml.Descendants("response")
.Where(x => x.Attribute("status").Value != "0")
.Select(x => x.Attribute("status").Value)
.ToList();
结果我期望得到“601”,但我根本没有得到任何元素。
解决方案
这似乎是一个小问题:您正在尝试读取response
元素的属性。
以下代码访问 的后代response
并返回正确的值:
var errorcodeList = xml.Descendants("response")
.Descendants()
.Where(x => x.Attribute("status").Value != "0")
.Select(x => x.Attribute("status").Value)
.ToList();
推荐阅读
- html - 如何在主 div 内容中包含 Bootstrap v5 表
- c++ - 打印迭代器地址
- java - 使用 JAXB 将 xml 文件转换为 Java 对象时出错
- python - Spark Session 使用 pyspark 连接到本地 MongoDB
- github - 即使我不是贡献者,我可以在 github 中合并分支吗?
- windows - 打开数据库“objectbox”时出错:在实体“专辑”中,属性“artistId”:缺少 virtualTarget
- amazon-web-services - 在 cloudwatch 中为每个组选择第一行
- java - 用 Java 导入的 Python 脚本给了我 ModuleNotFoundError
- python - 这个 Python Sum 程序有什么问题?
- android - Get specific data from Firestore and convert it to string, int, ... variables