Fórum Problema ao ler XML #585245
24/08/2017
0
Estou com problemas para ler um arquivo XML na seguinte estrutura:
<?xml version="1.0" encoding="iso-8859-1"?>
<mysql xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<table name="empresa">
<row>
<field name="codigo">2</field>
<field name="Razao">1001 TRANSPORTADORA E DISTR. LTDA</field>
<field name="cnpj"></field>
<field name="descricao">pppp</field>
</row>
<row>
<field name="codigo">3</field>
<field name="Razao">160 BAR E RESTAURANTE LTDA</field>
<field name="cnpj"></field>
<field name="descricao">uuu</field>
</row>
<row>
<field name="codigo">5496</field>
<field name="Razao">OTALIA ENGENHARIA E CONSTRUÇOES LTDA</field>
<field name="cnpj"></field>
<field name="descricao">yyy</field>
</row>
<row>
<field name="codigo">5497</field>
<field name="Razao">GOLDFARB 21 EMPREENDIMENTO IMOBILIARIO LTDA</field>
<field name="cnpj">11.111.111/0001-54</field>
<field name="descricao">xxx</field>
</row>
</table>
</mysql>
O problema é que não consigo filtrar por tags/atributos, e acabo exibindo todos os resultados. Tenho que exibir os dados da tag field referente à RAZAO, para isso estou utilizando C# (windows form).
Por favor, alguma ideia de como posso fazer isso?
Obrigado

Diego Silva
Curtir tópico
+ 0Post mais votado
24/08/2017
Feito isso, você localiza os nodes com o metodo "GetElementsByTagName"
Att.
Israel Goncalves

Gostei + 1
Mais Posts
24/08/2017
Diego Silva
Gostei + 0
24/08/2017
Rafael Almeida
Segue sugestão.
1 2 3 4 5 6 7 8 9 10 | var xml = new System.Xml.XmlDocument(); xml.Load(@"Seu XML"); var Tag = xml.GetElementsByTagName("field") .Cast< System.Xml.XmlNode >() .Where(t => t.Attributes[0].Value == "Razao"); foreach (System.Xml.XmlNode razao in Tag) { Console.WriteLine(razao.InnerText); } |
Gostei + 1
25/08/2017
Diego Silva
Problema resolvido, o código que gerei é similar ao postado pelo Rafael Almeida.
Obrigado pela ajuda.
Feito isso, você localiza os nodes com o metodo "GetElementsByTagName"
Att.
Segue sugestão.
#código
var xml = new System.Xml.XmlDocument();
xml.Load(@"Seu XML");
var Tag = xml.GetElementsByTagName("field")
.Cast<System.Xml.XmlNode>()
.Where(t => t.Attributes[0].Value == "Razao");
foreach (System.Xml.XmlNode razao in Tag)
{
Console.WriteLine(razao.InnerText);
}
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)