(El código y las instrucciones son para C # y es posible que deba modificarse ligeramente para otros idiomas)
Este ejemplo funciona perfecto si desea leer de un nodo primario que tiene muchos hijos, por ejemplo, mire el siguiente 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>
Ahora con este código a continuación (teniendo en cuenta que el archivo XML se almacena en recursos (consulte los enlaces al final del fragmento para obtener ayuda sobre los recursos)) Puede obtener cada dirección de correo electrónico dentro de la etiqueta "correos electrónicos".
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());
}
Resultados
- jdoe@set.ca
- jsmith@hit.ca
- rgreen@set_ig.ca
Nota: Para la aplicación de consola y WPF o Windows Forms, debe agregar "using System.Xml.Linq;" Directiva de uso en la parte superior de su proyecto, para la consola también deberá agregar una referencia a este espacio de nombres antes de agregar la directiva de uso. Además, para la consola no habrá un archivo de recursos de forma predeterminada en la "Carpeta de propiedades", por lo que debe agregar manualmente el archivo de recursos. Los siguientes artículos de MSDN explican esto en detalle.
Agregar y editar recursos
Cómo: Agregar o quitar recursos