I have a simple XML file:
<?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;
它没有起作用,我得到了空引用异常。
我做错了什么?
myXmlDoc
是一个XElement
而不是XDocument
,这意味着<ConveioValidacao>
节点不是它的后代。 - Andrew Hare