2015-05-20 24 views
1

我有一個看起來像這樣的XML文件:LINQ解析 - 我如何定位孩子?

<options> 
    <!-- Set the start page of the module --> 
    <startpage>google.com</startpage> 

    <alloweddomains> 
     <domain>mail.google.com</domain> 
     <domain>calendar.google.com</domain> 
    </alloweddomains> 
</options> 

我的代碼看起來石灰這樣的:

var xdoc = XDocument.Load("Options/Options.xml"); 
var allowedDomains = xdoc.Descendants("alloweddomains") 
          .Attributes("domain"); 

foreach (var xAttribute in allowedDomains) 
{ 
    Console.WriteLine("Allowed domains: " + xAttribute.Name); 
} 

口口聲聲說我allowedDomain是空的思想(不是XDOC)。我是否錯誤地定位了域名?如果是這樣,我該如何定位域名。

謝謝大家的建議。

回答

2

你沒有你的命名domainalloweddomains元素的屬性,你有元素

xdoc.Descendants("alloweddomains").Elements("domain"); 

或者,假設你沒有domain元素其他地方,你可以簡單地做

xdoc.Descendants("domain") 
+1

我討厭XML!你絕對正確。將在10分鐘內標記爲這樣。 – Paul

+0

@Paul有時我們看不到樹木的阿甘... – James

+0

明智的話,@詹姆斯。謝謝你的觀點:) – Paul