2012-05-26 5 views
-4

Интересно, как я могу разобрать конкретного человека по id в xml ниже?C# Разбор конкретных xml

Также можно сказать, что я хочу пропустить их все и добавить в список, как это сделать с помощью XmlDocument?

<users> 
    <user id="Marcus"> 
    <website>www.google.com</website> 
    <type>1</type> 
    </user> 
    <user id="John"> 
    <website>www.youtube.com</website> 
    <type>1</type> 
    </user> 
    <user id="Josh"> 
    <website>www.google.com</website> 
    <type>2</type> 
    </user> 
</users> 
+1

Я бы порекомендовал XElement/XNode/XLinq (или как там оно называется). Мне легче, чем XmlDocument. В любом случае это хорошо документировано/tutorial'ed ... –

+0

Какой API вы собираетесь использовать - XDocument, XmlDocument, XmlReader, XmlPathNavigator ??? – alexm

ответ

2

Вот LINQ к примеру XML -

using System.Xml.Linq; 

var doc = XDocument.Parse(@"..."); 
var element = doc.XPathSelectElement("https://stackoverflow.com/users/user[@id='John']"); 
var website = element.XPathSelectElement("website").Value; 
var type = int.Parse(element.XPathSelectElement("type").Value); 
+0

Удостоверьтесь, что аннотируется соответствующее 'using'. –

+0

Работает после некоторых изменений – Makkesk8

Смежные вопросы