gpt4 book ai didi

c# - Linq to XML - 使用 linq query.n 时出现空引用异常

转载 作者:行者123 更新时间:2023-11-30 13:42:59 25 4
gpt4 key购买 nike

我有一个简单的 XML 文件:

<?xml version="1.0" encoding="utf-8"?>
<ConvenioValidacao>
<convenio ven_codigo="1" tipoValidacao="CPF"></convenio>
<convenio ven_codigo="1" tipoValidacao="MATRICULA"></convenio>
<convenio ven_codigo="3" tipoValidacao="CPF"></convenio>
<convenio ven_codigo="4" tipoValidacao="CPF"></convenio>
</ConvenioValidacao>

我正在尝试使用 Linq to XML 对此 xml 文件执行简单查询,这是我正在做的:

var myXmlDoc = XElement.Load(filePath);
var result = from convenio in myXmlDoc.Element("ConvenioValidacao").Elements("convenio")
where (string)convenio.Attribute("ven_codigo") == "1" &&
(string)convenio.Attribute("tipoValidacao") == "CPF"
select convenio;

它不工作,我收到空引用异常。

我做错了什么?

最佳答案

改用这个:

var result = from convenio in myXmlDoc.Elements("convenio")
where (string)convenio.Attribute("ven_codigo") == "1" &&
(string)convenio.Attribute("tipoValidacao") == "CPF"
select convenio;

myXmlDoc类型为 XElement 没有“文档元素”,因此元素的根 根节点 ( <ConveioValidacao> )。由于这是根节点,因此您无需在 Elements 中指定它方法,因为这是文档中的当前位置。

作为旁注,我建议您重命名 myXmlDocmyXmlElement以减少混淆。

关于c# - Linq to XML - 使用 linq query.n 时出现空引用异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1328889/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com