LINQ到XML的方法,如
Descendants并
Element采取
XName作为参数。有一个从转换
string到
XName时自动发生的事情给你。您可以通过
XNamespace在
Descendants和
Element调用中的字符串之前添加一个来解决此问题。请注意,因为您有两个不同的名称空间在工作。
string theXml = @"true1"; //string theXml = @"true1"; Xdocument xmlElements = Xdocument.Parse( theXml ); XNamespace ns = "http://myvalue.com"; XNamespace nsa = "http://schemas.datacontract.org/2004/07/My.Namespace"; var elements = from data in xmlElements.Descendants( ns + "Result" ) select new { TheBool = (bool) data.Element( nsa + "TheBool" ), TheId = (int) data.Element( nsa + "TheId" ), }; foreach ( var element in elements ) { Console.WriteLine( element.TheBool ); Console.WriteLine( element.TheId ); }注意ns中的ns
Descendants和nsa中的使用
Elements



