使用linq获取xml属性

时间:2009-10-19 14:45:23

标签: c# linq

假设我的xml类似于下面的

<?xml version=”1.0” encoding=”UTF-8”?> 
<validate status=”yes” last_updated=”2009-07-05T11:31:12”> 
 etc...etc
</validate> 

在c#中如何获得validate元素中的status值?

只有一个验证元素。 我怎么能用linq做这个?...或者如果有更简单的方法可能

3 个答案:

答案 0 :(得分:8)

    XDocument xdoc = XDocument.Load("file name");
    // string status = xdoc.Root.Attribute("status").Value;

@ Marc的建议

    string status = (string)xdoc.Root.Attribute("status");

答案 1 :(得分:5)

 string xml = @"<?xml version=""1.0"" encoding=""UTF-8""?> 
<validate status=""yes"" last_updated=""2009-07-05T11:31:12""> 
 etc...etc
</validate>
";

            var doc = XDocument.Parse(xml);
            var item = doc.Elements("validate").First().Attributes("status").First().Value;

            Console.WriteLine(item);

答案 2 :(得分:1)

XmlDocument doc = new XmlDocument();
doc.Load(...);
doc.DocumentElement.Attributes["status"].Value

是一种方式。