LINQ解析 - 如何定位孩子?

时间:2015-05-20 15:29:47

标签: c# xml linq

我有一个如下所示的XML文件:

<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)。我是否错误地定位了域名?如果是这样,我该如何定位域名。

感谢大家的建议。

1 个答案:

答案 0 :(得分:2)

您在名为alloweddomains的{​​{1}}元素上没有属性,您有元素

domain

或者,假设您在其他任何地方都没有xdoc.Descendants("alloweddomains").Elements("domain"); 元素,那么您可以这样做

domain