C# 当特定的XML节点具有特定值时,如何读取整个XML节点
我怎样才能做一个C# 当特定的XML节点具有特定值时,如何读取整个XML节点,c#,xml,linq,C#,Xml,Linq,我怎样才能做一个foreach,在那里我可以只读取XML标签Equipe在哪里等于Rest 这是一个例子: <Equipe> <CPFUsuario>5546</CPFUsuario> <CodUsuario>6536</CodUsuario> <ApelidoUsuario>PARREIRA.MG</ApelidoUsuario> <NomeCompletoUsuario&
foreach
,在那里我可以只读取XML
标签Equipe
在哪里
等于Rest
这是一个例子:
<Equipe>
<CPFUsuario>5546</CPFUsuario>
<CodUsuario>6536</CodUsuario>
<ApelidoUsuario>PARREIRA.MG</ApelidoUsuario>
<NomeCompletoUsuario>JORGE</NomeCompletoUsuario>
<CodAgenciaLopesnet>15513</CodAgenciaLopesnet>
<DesAgenciaLopesnet>MINAS GERAIS LTDA.</DesAgenciaLopesnet>
<DesFilialnet>Rest</DesFilialLopesnet>
<CodEquipe>584309</CodEquipe>
<CodEquipeNovo>597951</CodEquipeNovo>
<DesEquipe>CARLOSMG</DesEquipe>
<CodEquipeSecundaria />
<CodEquipeSecundariaNovo />
<DesEquipeSecundaria />
<CodFilialSiebelPronto></CodFilialSiebelPronto>
<GrupoAcesso>1</GrupoAcesso>
</Equipe>
然后给出XML:
<Test>
<Equipe>
<CPFUsuario>5546</CPFUsuario>
<CodUsuario>6536</CodUsuario>
<ApelidoUsuario>PARREIRA.MG</ApelidoUsuario>
<NomeCompletoUsuario>JORGE</NomeCompletoUsuario>
<CodAgenciaLopesnet>15513</CodAgenciaLopesnet>
<DesAgenciaLopesnet>MINAS GERAIS LTDA.</DesAgenciaLopesnet>
<DesFilialnet>Rest</DesFilialnet>
<CodEquipe>584309</CodEquipe>
<CodEquipeNovo>597951</CodEquipeNovo>
<DesEquipe>CARLOSMG</DesEquipe>
<CodEquipeSecundaria />
<CodEquipeSecundariaNovo />
<DesEquipeSecundaria />
<CodFilialSiebelPronto></CodFilialSiebelPronto>
<GrupoAcesso>1</GrupoAcesso>
</Equipe>
<Equipe>
<CPFUsuario>5546</CPFUsuario>
<CodUsuario>6536</CodUsuario>
<ApelidoUsuario>PARREIRA.MG</ApelidoUsuario>
<NomeCompletoUsuario>JORGE</NomeCompletoUsuario>
<CodAgenciaLopesnet>15513</CodAgenciaLopesnet>
<DesAgenciaLopesnet>MINAS GERAIS LTDA.</DesAgenciaLopesnet>
<DesFilialnet>not rest</DesFilialnet>
<CodEquipe>584309</CodEquipe>
<CodEquipeNovo>597951</CodEquipeNovo>
<DesEquipe>CARLOSMG</DesEquipe>
<CodEquipeSecundaria />
<CodEquipeSecundariaNovo />
<DesEquipeSecundaria />
<CodFilialSiebelPronto></CodFilialSiebelPronto>
<GrupoAcesso>1</GrupoAcesso>
</Equipe>
</Test>
现在,您可以在生成的IEnumerable
上执行foreach
循环:
当然,这需要使用Linq和以下语句:
using System.Xml.Linq;
using System.Linq;
var equipes = XDocument.Parse(xml)
.Elements("Test")
.Elements("Equipe")
.Where(e => e.Element("DesFilialnet")
.Value.ToUpperInvariant() == "Rest".ToUpperInvariant());
foreach (var xElement in equipes)
{
//Do something
}
using System.Xml.Linq;
using System.Linq;