我有這樣的代碼:使用LINQ與XML命名空間爲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);
}
當我使用theXml的第一個值,結果爲空,而用第二個,我有良好的價值觀......
如何使用Linq到XML與xmlns值?
很棒,工作:)!非常感謝 – Tim 2010-02-26 09:58:12
xmlElements.Descendants(xmlElements.Root.GetDefaultNamespace()+「Result」)也可以工作。 – 2010-10-22 20:10:37