如何foreach
我只能阅读XML
标记Equipe
,其中<DesFilialnet>
等于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>
我有很多Equipe
标记,但<DesFilialnet>
更改了,我只想<Equipe>
其中<DesFilialnet>
是休息。
按照我的方式进行
public void leXmlCors(string file)
{
XmlReader rdr = XmlReader.Create(file);
XDocument doc2 = XDocument.Load(rdr);
foreach (var equipes in doc2.Root.Descendants("Equipe"))
{
foreach (var element in equipes.Descendants())
{
// This will read all <Equipe> tag, but I don't want all <Equipe> tag
}
}
}
}
答案 0 :(得分:2)
然后给出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>
以下内容应该有效:
var equipes = XDocument.Parse(xml)
.Elements("Test")
.Elements("Equipe")
.Where(e => e.Element("DesFilialnet")
.Value.ToUpperInvariant() == "Rest".ToUpperInvariant());
现在,您可以在生成的foreach
:
IEnumerable<XElement>
循环
foreach (var xElement in equipes)
{
//Do something
}
当然这需要Linq和以下using
声明:
using System.Xml.Linq;
using System.Linq;