(Код и инструкции предназначены для C # и могут потребовать незначительных изменений для других языков)
Этот пример отлично работает, если вы хотите читать с родительского узла, который имеет много дочерних элементов, например, посмотрите на следующий XML;
<?xml version="1.0" encoding="UTF-8"?>
<emails>
<emailAddress>jdoe@set.ca</emailAddress>
<emailAddress>jsmith@hit.ca</emailAddress>
<emailAddress>rgreen@set_ig.ca</emailAddress>
</emails>
Теперь с этим кодом ниже (помните, что XML-файл хранится в ресурсах (см. Ссылки в конце фрагмента для получения справки о ресурсах). Вы можете получить каждый адрес электронной почты в теге "emails".
XDocument doc = XDocument.Parse(Properties.Resources.EmailAddresses);
var emailAddresses = (from emails in doc.Descendants("emailAddress")
select emails.Value);
foreach (var email in emailAddresses)
{
//Comment out if using WPF or Windows Form project
Console.WriteLine(email.ToString());
//Remove comment if using WPF or Windows Form project
//MessageBox.Show(email.ToString());
}
Результаты
- jdoe@set.ca
- jsmith@hit.ca
- rgreen@set_ig.ca
Примечание. Для консольного приложения и WPF или Windows Forms необходимо добавить «using System.Xml.Linq;» Используя директиву вверху вашего проекта, для консоли вам также нужно будет добавить ссылку на это пространство имен перед добавлением директивы Using. Также для консоли не будет файла ресурсов по умолчанию в папке «Свойства», поэтому вам нужно вручную добавить файл ресурсов. Статьи MSDN ниже объясняют это подробно.
Добавление и редактирование ресурсов
Как: добавить или удалить ресурсы