2009-10-19 4 views
1

Предположим, у меня есть XML, аналогичный приведенному нижеполучить атрибут XML с помощью LINQ

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

в C# как я могу получить значение статуса в элементе валидации?

будет только один элемент проверки. , как я могу сделать это с помощью LINQ? ... или если Theres более простой способ, возможно

ответ

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

@ предложение Марка,

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

Незначительное предложение: use: 'string status = (string) xdoc.Root.Attribute (" status ");' - тогда вы получаете 'null', если атрибут не существует (легко проверить), а не исключение , –

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

является одним из способов.

+0

Я думаю, что это не с помощью LINQ. Это ? – Hari

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); 
Смежные вопросы