tengo este código:uso de LINQ to XML con espacios de nombres XML
/*string theXml =
@"<Response xmlns=""http://myvalue.com""><Result xmlns:a=""http://schemas.datacontract.org/2004/07/My.Namespace"" xmlns:i=""http://www.w3.org/2001/XMLSchema-instance""><a:TheBool>true</a:TheBool><a:TheId>1</a:TheId></Result></Response>";*/
string theXml = @"<Response><Result><TheBool>true</TheBool><TheId>1</TheId></Result></Response>";
XDocument xmlElements = XDocument.Parse(theXml);
var elements = from data in xmlElements.Descendants("Result")
select new {
TheBool = (bool)data.Element("TheBool"),
TheId = (int)data.Element("TheId"),
};
foreach (var element in elements)
{
Console.WriteLine(element.TheBool);
Console.WriteLine(element.TheId);
}
Cuando utilizo el primer valor para theXml, el resultado es nulo, mientras que con el segundo, tengo buenos valores ...
¿Cómo usar Linq en Xml con valores xmlns?
genial, funcionando :) !! Muchas gracias – Tim
xmlElements.Descendants (xmlElements.Root.GetDefaultNamespace() + "Result") también puede funcionar ... –