(Код и инструкции предназначены для 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 ниже, объясняют это подробно.
Добавление и редактирование ресурсов
Как: добавить или удалить ресурсы